2011-12-16 40 views
1

任何人都可以描述如何使用其xib文件的根目錄和uitableview作爲子視圖的TableViewController? 我相信TVController以某種方式假定UITableView將填充整個區域。 這是爲什麼? 我有一個非常具體的需求,建立一個UITableView作爲其主要區域的一種側面和底部選項卡式界面。按下標籤會改變fetchedresults控制器的謂詞等。 我想要這個的原因是因爲數據模型中數據類別的寬度和深度。我一直需要扁平化菜單結構......另外還有一個表格和導航控制器結構,用戶體驗將類似於沉入洞穴深處! 我的想法在其他範例中被嘗試並且是真實的......在iOS中,它幾乎看起來像是蘋果的方式或高速公路。我對APPLE當然沒有抱怨也沒問題。 但我真的很想創建這個。 我試着添加一個新的tableviewcontroller與xib完成,然後刪除IB中的UITableView和替換爲一個UIView和一個UITableView作爲子視圖,連接(我相信)委託給文件的所有者。 我創建了時,我想引用它的IV的tableView和再次使用IB把它掛在IB將UITableView與TableViewController關聯

嘗試運行它,它抱怨道是...... [UITableViewController中的loadView]加載的「TabbedTableController」筆尖但沒有得到一個UITableView。「 真的似乎無法讓我的頭在這裏問題是什麼。 似乎沒有什麼可以做的了,把UITableView勾起來!

任何幫助將是了不起的。我會絕望地送你一張聖誕賀卡:^) 另外...爲什麼它應該如此,這個UITableView全屏的東西有多嚴格? 如果可以,請給我啓發。我讀過的文檔不想。

問候 基思

回答

2

一個UITableViewController並假定根視圖(即控制器的view屬性)將是一個UITableView,從而表視圖充滿屏幕。當您需要將UITableView與其他頂級視圖相結合的視圖時,您需要做更多的工作,但這並不難:

您的視圖控制器不會繼承UITableView的子類。相反,這樣做:

@interface MyViewController : UIViewController 
    <UITableViewDelegate, UITableViewDataSource> 
@property (nonatomic, weak) IBOutlet UITableView* tableView; 

在Interface Builder中,你需要一個UITableView和任何其他控件下降。表視圖可以是任何大小,並且可以位於視圖層次結構中的任何位置。同樣在界面生成器中,從表視圖拖動到VC並設置delegatedataSource插座,並從VC拖動到表視圖以設置tableView插座。

您的視圖控制器的實現應該是典型的表視圖控制器實現:cellForRowAtIndexPath

一個UITableViewController或多或少只是所有東西都打包成一個單一的單元爲你上面的工作。

+0

啊當然是謝謝。 仍然不明白爲什麼那個限制 – 2011-12-16 19:01:39