3

我的 iPhone 应用程序中有一个视图(和相应的视图控制器),允许用户编辑应用程序的设置。该视图可通过菜单(表格视图)访问。我在 UIViewController 子类中使用 pushViewController 来显示它。当我这样做时,它会像我预期的那样出现 - 导航栏出现在 xib 的顶部,并且我在 xib 中留下的空白空间被占用。

我有时也会使用 presentModalViewController 将设置视图显示为模态视图。当我这样做时,xib 的顶部从导航栏的底部开始,而不是在它的下方。

文档确实说 presentModalViewController 将调整视图大小以适应,所以我可以看到这是预期的行为。但是,对我来说,这不是理想的行为。

我可以通过将设置视图控制器设置为不显示导航栏来解决它,但是视图顶部有一个奇怪的空白区域。

理想情况下,我想在这两种情况下使用相同的 xib。但是,也许这不是最佳做法?你们通常如何重用xib?

我在想,如果视图控制器处于模态模式,也许我可以让视图控制器将所有控制器向上移动,但我想要更好的东西,如果它可用的话。

4

1 回答 1

1

每个 UIView 都有一个 autoresizingMask 属性。通过配置它(可以在 Interface Builder 中完成),您应该能够重用视图并让它在导航栏不应该存在时自动调整大小以占据整个屏幕。

苹果的文档在这里:

http://developer.apple.com/iPhone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/WindowsandViews/WindowsandViews.html#//apple_ref/doc/uid/TP40007072-CH8-SW10

于 2009-09-16T22:42:46.893 回答