我有UITableViewController
我试图在UIPopoverController
中显示。无论如何,tableview总是在popover中以完整大小显示。
在我的StoryBoard中,我将UITableViewController
的尺寸设置为自由形态。我已在“大小”检查器中明确设置UITableView
的高度和宽度。
以下是设置控制器和弹出窗口的方法:
UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard-iPad" bundle:nil];
self.settingsController = [sb instantiateViewControllerWithIdentifier:@"SettingsViewControllerID"];
self.settingsPopover = [[UIPopoverController alloc] initWithContentViewController:_settingsController];
我还尝试明确设置控制器的弹出窗口大小:
self.settingsController.contentSizeForViewInPopover = CGSizeMake(400.0, 400.0);
当我运行应用程序并激活弹出窗口时 - 它几乎与主屏幕一样高。
我错过了一些明显的东西吗?
提前致谢, CS
答案 0 :(得分:3)
您可以使用以下代码更改tableView大小。
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
UIStoryboardPopoverSegue *popoverSegue;
popoverSegue = (UIStoryboardPopoverSegue *)segue;
UIPopoverController *popOverController = popoverSegue.popoverController;
[_popOverController setPopoverContentSize:CGSizeMake(width, height)];
}
答案 1 :(得分:0)
UITableViewController总是希望成为窗口的完整大小,或者是popover(这是一种特殊的窗口)。如果您想要一个较小的表视图,请使用UIViewController作为弹出窗口的内容控制器。然后,您应该能够在IB中调整它的大小。