我可以将 pushViewController 与 UISegmentedControl 一起使用吗?
Posted
技术标签:
【中文标题】我可以将 pushViewController 与 UISegmentedControl 一起使用吗?【英文标题】:Can I use pushViewController with UISegmentedControl? 【发布时间】:2012-03-09 07:12:36 【问题描述】:我想使用带有 UIsegmentedController 的 pushViewController 来推送到其他视图和 xib。 我可以在 xcode 4 中这样做吗???如果可以的话,请您指导我吗?
这是我尝试的一些代码。但不起作用。
-(IBAction) segmentedControlIndexChanged:(id)sender
if ([sender selectedSegmentIndex] == 0)
BDshelveController *shelve_page = [[BDshelveController alloc] initWithNibName: @"BDshelveController" bundle:nil];
else if([sender selectedSegmentIndex] == 2)
BDlibraryController *lib_page = [[BDlibraryController alloc] initWithNibName:@"BDlibraryController" bundle:nil];
[self.navigationController pushViewController:lib_page animated:YES];
【问题讨论】:
究竟是怎么回事它不起作用? 它没有推送到 BDlibraryController 视图 :( 【参考方案1】:是的,你可以,这些是你可以检查的东西
您在代码中遗漏了 segmentedIndex=1。
you missed to call pushViewController when selected segment=0
或者self.NavigatonController更可能为nil
您的分段控件尚未连接值更改为您的操作
如果 self.navigationController 为 nil,这取决于您如何初始化应用程序,如果您的应用程序是导航栏驱动的,那么 AppDelegate 中的这段代码应该可以解决问题:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:yourRootViewController]; // <-- depends if you have storyboards, xib etc...you should this already initialized
[self.window addSubview:navController.view];
[navController release]; // <-- depends if you have ARC
[self.window makeKeyAndVisible];
return YES;
否则我想你可以通过将 self 作为根控制器来初始化它。
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self];
【讨论】:
我没有为此复制所有的 code.sry。现在我知道 self.NavigationController 是(null)。我应该编码 UINavigationController *navigationController = [[UINavigationController alloc] init];第一个??以上是关于我可以将 pushViewController 与 UISegmentedControl 一起使用吗?的主要内容,如果未能解决你的问题,请参考以下文章
pushViewController 不能与标签栏控制器一起使用
Swift:如何取消延迟的 pushViewController?
pushViewController 和 showViewController 的区别
使用 pushViewController 然后 popViewController 时将工具栏保持在 UIView 的顶部?
透明 ViewController 可与 presentViewController 一起使用,但不能与 pushViewController 一起使用