繁体   English   中英

如何添加向xib添加导航控制器

[英]How do i add add a navigation controller to a xib

在我找不到有关如何为xib执行此操作的任何教程之前,仅使用故事书来创建导航控制器的子类。

如何将naviagtion控制器添加到某个xib,以便我可以将其子类化? 然后我可以覆盖我的视图的旋转。 我坚持的部分是视图控制器如何知道导航控制器? 在故事板中,我会手动将它连接到我的视图控制器。 我只是不能用xibs来解决它?

我在我的视图xib旁边添加了一个导航控制器...现在我需要一些建议。

我也用原始的iPhone xib创建了iPad视图。 当我从IB拖动导航控制器时,它仍处于iPhone屏幕尺寸?

您不需要像使用故事板那样在xib文件中设置UINavigationController ,因为xib仅代表一个屏幕。 正常的做法是分配/初始化UINavigationControllerUIViewController ,并在显示之前将视图控制器设置为导航控制器的根。 如果您希望整个应用程序包含在导航控制器中,则可以在App Delegate中完成此操作。

在非故事板应用程序中的应用程序委托中,您可能需要这样的东西

self.navigation = [[UINavigationController alloc] initWithRootViewController:[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]];

[self.window makeKeyAndVisible];

self.window.rootViewController = self.navigation;

其中self.navigation是属于App Delegate的UINavigationController属性或iVar。 如果要在xib中正确设置视图控制器,请在xib中选择根视图并打开属性检查器(RHS,看起来像一个小盾),然后在“顶栏”中选择“导航栏”下拉式菜单。 这将在xib中显示导航控制器顶部栏,以便您可以相应地定位其他视图。

编辑

这不完全正确,您可以在xib文件中创建导航控制器,但我一直认为它比它的价值更麻烦,因为它的视觉元素非常少,并且可以非常容易地在代码中设置它们。

这里有更多信息

http://www.iosdevnotes.com/2011/03/uinavigationcontroller-tutorial/

如果你想覆盖导航控制器的旋转,只需创建一个覆盖旋转方法的UINavigationController子类,然后使用P-double的代码,而不是调用[UINavigationController alloc]你应该调用类似[MyNavigationController alloc]东西,由于面向对象编程的奇迹,它应该都能很好地工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM