2010-09-12 100 views
1

對不起,但我發現沒有明確的答案。 我有一個iphone應用程序與每個選項卡中的標籤欄和UINavigationController。 界面使用Interface Builder構建,第一個選項卡中有一個UITableView。 我準備了包含一個表(T)和一個圖像(IMG)背景的主視圖(A)的xib(圖像作爲主視圖的子視圖)。 後來我分配了UITableViewController作爲所有者。這是問題開始的地方。 在IB中,如果我將視圖連接到A我有一個運行時錯誤告訴我,控制器無法找到表。 如果我將控制器視圖連接到T,一切正常,但IMG未顯示。帶固定圖像背景的UITableView

我發現的唯一解決方案是創建一個新的xib,將UIViewController作爲擁有者來持有A和IMG。然後創建一個廈門國際銀行控股只有T和的UITableViewController作爲所有者,正確連接到T. 然後在的UIViewController viewDidLoad中:

iptc = [[IPPlantsTableViewController alloc] initWithNibName:@"IPPlantsView" bundle:[NSBundle mainBundle]]; 

iptc.navigator=self.navigationController; // <-- need this 

[self.view addSubview:iptc.view]; 

而這個工作,除了表視圖,似乎不知道什麼navigationController因此細節視圖機制不工作,除非我在UITableViewController中爲它設置一個屬性。 我也遇到了一些其他問題,例如所有添加/刪除/創建行的邏輯都必須在UIViewController中處理併發送到UITableViewController。

在表格視圖中有固定圖像還有其他方法嗎?

回答

1

的UITableViewController是一個方便的類;你可以同樣使用UIViewController並實現正確的回調。

在OS 3.2+中,您可以設置UITableView.backgroundView。如果IB不讓你這樣做,你可以用代碼來代替。

或者,您可能會以不同的方式連接viewtableView插座,除非tableView只是(UITableView*)self.view

+0

謝謝...我已成功地設法將UITableViewController轉換爲普通的UIViewController,神奇地出現背景。然而,我有一個最後惱人的問題,我用IB製作的頂部和底部單元格只在圓角下面顯示黑色背景(如沒有透明度的.gif)。如果我爲UITableView聲明顏色而不是clearColor,則問題消失,但我當然無法看到背景。 – Leonardo 2010-09-12 18:41:04

+0

設置UITableView.backgroundView是否工作? – 2010-09-13 00:35:11

+0

我必須爲backgroundView設置什麼?清除表格視圖的顏色不夠嗎? – Leonardo 2010-09-13 10:15:21

2

我會說實話,我恨Interface Builder中;-)所以我不能幫你這一點。

但在一個UITableView你應該的背景設定一個固定的形象: - 設置的UITableView的背景色[的UIColor clearColor(也許電池太的背景) - 集和的UIImageView的UITableView的下方查看包含圖像:)

這樣應該可以工作。

但是,如果沒有Xcode項目我也幫不了你更多的^^

好運

+0

+1接口生成器是魔鬼 – 2010-09-12 13:50:34

+0

YEAH!全部針對IB xD我完全同意 – Vinzius 2010-09-12 14:33:49

+1

儘管有必要並且更快地以編程方式創建視圖,但我寧願使用IB創建模板。有很多元素定位,圖形,ecc控制... – Leonardo 2010-09-12 22:23:49