在 UIPopOverController 中显示 Master/Detail UITableView

Posted

技术标签:

【中文标题】在 UIPopOverController 中显示 Master/Detail UITableView【英文标题】:Showing Master/Detail UITableView inside UIPopOverController 【发布时间】:2010-04-14 00:24:19 【问题描述】:

我有一个 UIPopOverController,它在其视图中显示一个带有 UITableview 的 UIViewController。表格中的单元格有一个详细视图,但每当推送该视图时,PopOverController 的大小就会增加,而我在其中留下了所有这些空白区域。

问题是这样的:谁能告诉我如何在 PopOverController 中显示 Master/Detail UITableview 同时保留其尺寸?

我的一些代码如果对你有帮助的话:

//Creating the PopOver with the UIViewController    
addTaskViewController = [[AddTaskViewController alloc] initWithNibName:@"AddTaskViewController" bundle:nil];
 UINavigationController *addTaskNavController = [[UINavigationController alloc] initWithRootViewController:addTaskViewController];
 UIPopoverController *addTaskPopOver = [[UIPopoverController alloc] initWithContentViewController:addTaskNavController];
 self.addTaskPopOverController = addTaskPopOver;
 addTaskPopOverController.delegate = self;
 //...neccessary releases...

//Showing the popover when a button is pressed
- (void) addTasksButtonPressed:(id)sender 
 //Display the Popover containing a view from AddTaskViewController 
 [self.addTaskPopOverController setPopoverContentSize:CGSizeMake(400, 700)];
 [addTaskPopOverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

【问题讨论】:

【参考方案1】:

您应该将详细视图控制器的contentSizeForViewInPopover 属性设置为与父控制器相同的值。

【讨论】:

马丁,你能详细说明一下吗?您的意思是我的 UITableView 的详细视图控制器应该将其属性设置为 UITableView 的根视图控制器吗? 想通了!非常感谢马丁。对于那些有同样问题的人,对于 UITableView 中的两个 ViewController(Master 和 Detail),将其 contentSizeForViewInPopover 属性设置为 RootViewController 中设置的 CGSize(您从中启动弹出窗口)

以上是关于在 UIPopOverController 中显示 Master/Detail UITableView的主要内容,如果未能解决你的问题,请参考以下文章

在 UIPopOverController 中显示 Master/Detail UITableView

无法在 UIPopoverController 中显示视图控制器

如何在 iPhone 上的 UIPopoverController 中显示 NavigationController-background

想要在 UIAlertController 或 UIPopoverController Swift 中显示 UIPickerView?

ios8中iphone的UIPopoverController显示白屏

UIPopoverController backgroundColor 在显示时导致闪烁