回答

3

我這個問題挫折試圖使用的UITableViewController類,它不會讓你添加其他UI元素,如工具欄鋪設。我通過創建一個UIViewController對象並單獨添加工具欄和表視圖到它的筆尖來解決它。然後我讓ViewController實現了表視圖的委託和數據源方法。很棒。

+0

非常感謝您抽出您的想法 – RVN 2010-09-21 08:01:12

0

常見範例是將UINavigationControllers作爲主頁面和詳細頁面的頂層控制器。

所以認爲hiearchy看起來像這樣(鬆耦合說)

  • 應用程序窗口
    • UISplitViewController
      • 主:UINavigationController的
        • 具有自定義控制器(的tableView或UIView的)
      • 細節:UINavigationController的
        • 具有自定義控制器(UITableViewController中/ UIViewController中)

希望這個原油圖是有道理的。

將UINavigationController作爲最高級別的控制器,您可以獲得「免費」工具欄。

self.navigationController.toolbar 
+1

是的,不幸的是,UINavigationBar的不允許加入BarButtonItems的,因爲我在我的問題說。 – 2010-06-24 07:58:38

+0

[self.navigationController setToolbarHidden:NO animated:NO]; 這將啓用'工具欄',這是'導航欄' – 2010-06-24 16:55:53

+0

http://stackoverflow.com/questions/2611997/ipad-title-bars-navbars-or-toolbars – 2010-06-25 00:21:47

0

我解決了這個問題:如果沒有navigationBar,我只需在tableView的頂部添加一個工具欄,然後在第一部分中更改標題的高度。唯一的問題是該工具欄滾動tableView。

一下添加到您的viewDidLoad的TableViewController

if (! self.navigationController.navigationBar) { 
    UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 44)]; 
    toolBar.barStyle = UIBarStyleBlackOpaque; 
    [self.tableView addSubview:toolBar]; 
} 

添加這個方法:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection: (NSInteger)section 
{ 
    return 50; 
} 
相關問題