这很好用:
UINavigationController *nc =
[[UINavigationController alloc]
initWithNavigationBarClass:[GTScrollNavigationBar class]
toolbarClass:[UIToolbar class]];
nc.viewControllers = @[firstPage];
self.window.rootViewController = nc;但是,这确实是而不是的工作:
UINavigationController *nc =
[[UINavigationController alloc]
initWithNavigationBarClass:[GTScrollNavigationBar class]
toolbarClass:[UIToolbar class]];
self.window.rootViewController = nc;
self.window.rootViewController.viewControllers = @[firstPage]; // ERROR怎么可能呢?谢谢
发布于 2014-03-10 08:13:53
self.window.rootViewController.viewControllers = @[firstPage];不编译,因为rootViewController属性UIWindow被声明为(泛型) UIViewController (它没有viewControllers属性),而不是UINavigationController。
在您的情况下,编译器不知道根视图控制器实际上是一个导航控制器。
因此,要么按照第一个代码块的方式进行,要么必须添加一个显式强制转换:
((UINavigationController *)self.window.rootViewController).viewControllers = @[firstPage];https://stackoverflow.com/questions/22286166
复制相似问题