UINavigationBar后退按钮退出应用程序

时间:2011-06-22 16:44:35

标签: iphone objective-c ios xcode

我在我的app委托中有一个导航控制器,我用来在视图之间切换,这似乎可以很好地点击NavigationBar中的后退按钮,但只有当我在混合中有一个UITable时。但是当我将pushRootviewController推送到标准的根视图控制器时,我仍然会看到UINavigationBar中的后退按钮但是当我单击它时程序退出并且不记录任何错误。

我想也许这样的事情可行,但没有运气。

CoCoachAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
UIBarButtonItem *iButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonItemStyleBordered target:self action:@selector(playThis:)];
appDelegate.navigationController.navigationItem.backBarButtonItem = iButton;
[iButton release];

任何人都有类似的事情发生?有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您的问题是您将按钮设置为导航控制器本身。您应该将按钮设置为导航控制器内控制器的navigationItems(并记住当下一个(后续)视图控制器可见时,导航栏上会显示backBarButtonItem。如果这不是您想要的行为,你应该使用leftBarButtonItem。)还要记住,“后退按钮”应该将目标/动作设置为nil,因为当你将它作为backBarButtonItem使用时,导航控制器将自己添加为目标。