是否建议在UINavigationController视图和模态视图中使用相同的xib?

时间:2009-09-16 17:05:54

标签: iphone objective-c layout modal-dialog xib

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

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

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

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

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

我在想,如果它处于模态模式,我可能会让视图控制器将所有控制器都移开,但如果它可用,我想要更好的东西。

1 个答案:

答案 0 :(得分:1)

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

Apple的文档在这里:

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