4

我想在我的iPad應用程序的彈窗視圖中顯示自定義的tableview。這工作正常。我想在工具欄上添加按鈕(在tableview的底部)。工具欄顯示爲空。任何建議?UIToolbar項目不在彈出窗口中顯示

請注意,當用戶觸摸主視圖控制器中的按鈕時,會觸發以下代碼。

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:self.customTableViewController]; 
UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"item 1" style:UIBarButtonItemStylePlain target:nil action:nil]; 
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"item 2" style:UIBarButtonItemStylePlain target:nil action:nil]; 

[navigationController setToolbarHidden:NO]; 
navigationController.navigationBar.topItem.title = @"Some Title"; 

NSArray *array = [[NSArray alloc] initWithObjects:item1, item2, nil]; 
[navigationController setToolbarItems:array]; 

UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navigationController]; 
self.popoverController = popover; 
popoverController.delegate = self; 

[popoverController presentPopoverFromRect:[sender bounds] inView:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
+1

我打一個類似的問題,實現代碼如下所示罰款的酥料餅的,但下面的按鈕是不可見的。如果我想出點什麼,我會告訴你。 – 2012-05-23 22:04:39

+0

我希望有人解決這個問題。 – Hamdi 2012-05-24 00:53:59

回答

3

我遇到了類似的問題,tableview在彈出窗口中顯示正常,但下面的按鈕不可見。如果我想出點什麼,我會告訴你。

編輯:我的問題是,我正在重新調整popover的大小,並且按鈕被推出視圖。我通過更改自動調整來鎖定相對於框架底部的位置來解決此問題。爲此,請在界面構建器中查看您的xib,轉到右上角的標尺選項卡並使用Autosizing GUI。對於我而言,這意味着在GUI上只選擇了底部錨點。

2

在ipad應用程序中,您必須將工具欄項目設置爲「topViewController」(是的,這是違反直覺的)。

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:catView]; 
UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"item 1" style:UIBarButtonItemStylePlain target:nil action:nil]; 
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"item 2" style:UIBarButtonItemStylePlain target:nil action:nil]; 
[nav setToolbarHidden:NO animated:YES]; 
// WRONG: [nav setToolbarItems:[NSArray arrayWithObjects:addButton, nil]]; 
// CORRECT (for ipad apps): 
[nav.topViewController setToolbarItems:[NSArray arrayWithObjects:item1, item2, nil] animated:NO]; 
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:nav]; 

參見: http://www.kevatron.co.uk/tag/uipopovercontroller/

+0

我遇到了上述相同的問題,除此之外,我嘗試了一切。很棒的發現,謝謝! – 2014-06-30 20:21:02