3

我在 Apple 的文档中阅读了有关 UINavigationController 调整大小行为的信息,直到现在它还不是什么大问题。

我有以下代码来设置我的 UINavigationController 的视图:

navController.view.frame = CGRectMake(0, 40, 320, 420);

这已经足够了,直到视图被模态视图遮挡,此时视图的大小被调整为介于调用viewWillAppear和之间的默认大小viewDidAppear(因为 UINavigationController 从 UIViewController 继承)。

我试图在 UINavigationController 上方保持可见的横幅(在 40 x 320 可用空间中),但如上所述,此横幅始终被遮挡。

有没有办法在不继承 UIViewController 的情况下抑制 UINavigationController 的调整大小行为?

4

2 回答 2

2

在界面生成器中,您可以取消选中自动调整大小复选框。

在代码中,它是

[myNavController.view setAutoresizesSubviews: NO];
于 2010-08-31T18:34:54.240 回答
0

我会尝试

myNavController.superview.autoresizesSubviews = NO

显然检查myNavController.autoresizingMask

作为最后的手段,子类其父视图并重新实现 layoutSubviews

于 2010-09-07T21:18:58.057 回答