2011-10-20 46 views
0

我從UITableViewController推送detailViewController(UIViewController)。 detailViewController由UITextView和小型UITableView組成。我已經將我的detailViewController設置爲實現UITableViewDataSource和UITableViewDelegate協議的UIViewController。我在IB中有代理和數據源插座。我有那些需要的table委託和數據源方法,這些方法在detailViewController頂部時被調用。我在第(2)節中調用了設置段數(1)和行數的方法。問題是,當detailViewController位於頂部時,我沒有在屏幕上看到我的tableView。如何在UIViewController中顯示UITableView?

我注意到,Xcode的警告我有關initWithStyle在detailViewController,它可能不響應[超級initWithStyle:款式】:

- (id)initWithStyle:(UITableViewStyle)style{ 
    self = [super initWithStyle:style]; 
    if (self) { 
    // Custom initialization 
    } 
    return self; 
} 

我的理解,它不屬於UIViewController的,但如何讓事情的來龍去脈出來嗎?

更新:它出現我的tableView縮水。我已經在IB中爲它設置了足夠的高度和寬度,但是它看起來像tableView出現在屏幕上的行很窄,並且在表填充行時不調整大小。恕我直言,它以某種方式與無法調用initWithStyle有關。有人通過其他方式獲得類似的解決方案嗎?

回答

0

正如你所說,detailViewController是一個UIViewController子類。 UIViewController沒有執行-initWithStyle:,所以警告是合法的。

你不能從UITableViewController繼承detailViewController嗎?

如果您必須使用UIViewController,則必須在detailedViewController中創建tableView插座,並且它應該連接到IB中的表格。你確定完成了嗎?

+0

Nop,我不能。我需要在navigationController堆棧上推送detailViewController。只有UIViewController可能會被推到最前面。 – Centurion

+0

'UITableViewController'是'UIViewController'的子類,所以你可以將它推到導航控制器上而沒有問題。 – ayoy

+0

如果我這樣做推送給我SIGARBT錯誤。 – Centurion

相關問題