首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在pushViewController上UIPopoverController自动调整到最大高度

在pushViewController上UIPopoverController自动调整到最大高度
EN

Stack Overflow用户
提问于 2010-08-11 21:25:02
回答 13查看 49.6K关注 0票数 69

我有一个包含UINavigationController的popover。我可以很好地显示弹出窗口,而且它包含的navController也很好。navController包含一个tableView,当我选择一个项目时,它会创建一个新的详细视图:

代码语言:javascript
复制
     DeviceDetailViewController *detailViewController = 
[[[DeviceDetailViewController alloc] initWithNibName:@"DeviceDetailViewController" bundle:nil] autorelease];

然后我将其推送到新的视图控制器:

代码语言:javascript
复制
    [self.navigationController pushViewController:detailViewController animated:YES];

这就是问题发生的时候:在按下新视图后,弹出窗口的大小会调整为iPad上可用的最大高度。

我已经尝试将xib中所有视图的高度设置为固定高度,而不是灵活高度。我已经尝试过显式设置弹出的高度。我还尝试使用不同的视图控制器作为子视图。问题仍然存在:每当一个新视图被推到导航控制器时,popover 希望自动将自己调整到最大高度。

这是一个question,它讨论了在推送新视图时故意控制弹出窗口的大小:

我认为这可能是一种蛮力控制大小的方法。然而,奇怪的是,它实际上导致了一些快速的图形怪癖(就好像视图是在新鲜的动画中),然后继续如上所述地调整大小。

换句话说,从字面上讲,某些东西迫使popover达到其最大高度,并且似乎是在调用所有委托方法之后发生的。

是导航控制器吗?有没有人见过这种东西?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2010-08-12 00:04:05

在我遇到同样的问题后(巧合的是今天也是如此),我解决了这个问题:

编辑:由于contentSizeForViewInPopoveriOS7.0中已弃用,因此请使用preferredContentSize

下面的原始答案

在您的detailViewController中添加以下内容:

代码语言:javascript
复制
- (void)viewWillAppear:(BOOL)animated {

    CGSize size = CGSizeMake(320, 480); // size of view in popover
    self.contentSizeForViewInPopover = size;

    [super viewWillAppear:animated];

}

您还希望添加一些类似于原始DeviceDetailViewController的内容,以防止在点击back NavbarItem时调整大小。

票数 123
EN

Stack Overflow用户

发布于 2011-08-04 23:54:06

就像在viewWillAppear中处理它一样,处理这个问题的另一种方法是覆盖contentSizeForViewInPopover。非常简洁:

代码语言:javascript
复制
-(CGSize)contentSizeForViewInPopover
{
    return self.view.bounds.size;
}
票数 30
EN

Stack Overflow用户

发布于 2011-10-15 03:42:17

对于IOS5

我建议你在下面这样做:

代码语言:javascript
复制
- (void)viewDidLoad {
    [super viewDidLoad];

    CGSize size = CGSizeMake(320, 480); // size of view in popover
    self.contentSizeForViewInPopover = size;

}
票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3458722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档