1

我有一個UIToolbar位於視圖的底部。當用戶在iPad上時,我想將工具欄添加到導航控制器的右側,因爲會有空間。添加一個UIToolbar作爲UINavigationItem錯誤

我加入這個代碼:

- (void)viewDidLoad{ 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
      UIBarButtonItem *toolBarItem = [[UIBarButtonItem alloc]initWithCustomView:toolBar]; 
      self.navigationItem.rightBarButtonItem = toolBarItem; 
     } 
[super viewDidLoad]; 
    } 

但隨着錯誤的應用程序崩潰:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. UINavigationBar's implementation of -layoutSubviews needs to call super.' 

我不知道爲什麼這是一個問題,因爲我已經見過使用這種方法。順便說一句,工具欄項添加在界面生成器,而不是使用NSArray的按鈕,可以有所作爲?

謝謝!

+0

你通常在哪裏聲明UIBarButtonItem? – Dustin

+0

plz向我們展示了工具欄的alloc和init代碼。 –

+0

,你有沒有[超級viewDidLoad];在你的viewDidLoad方法中? –

回答

0

UIBarButtonItem是生活在工具欄中的控件之一。你確定你在做什麼?我不能按照你說的,但是你似乎試圖在UIBarButtonItem中添加一個工具欄。它應該是相反的方式,UIbarButtonItem住在UIToolbar中

+0

UIToolbar包含多個UIBarButtonItems,但我試圖將UIToolbar放在另一個UIBarButtonItem中,以便將其添加到導航欄中。我不認爲有一個更簡單的方法。 –

+0

更簡單的方法是創建一個可以任意設置框架的自定義UIView控件。你想要做的是UIToolbar初始! – Justin