【发布时间】:2016-06-02 15:43:46
【问题描述】:
我目前正在尝试创建一个弹出菜单,其中包含一个导航栏和一个返回按钮,可将我带回主 ViewController。
这里的帖子对我创建函数有很大帮助。 我将 NSLogs 放入我的代码中,一切正常......但是 backButton 本身,它什么都不做。
所以。我的后退按钮在我的 .h 文件中声明如下:
@property (strong, nonatomic) IBOutlet UIButton *backButton;
我的 .m 中有这两个函数:
-(void)setBackButton:(UIButton *)backButton
{
NSLog(@"setBackButton: called");
[_backButton addTarget:self action:@selector(backBtn:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
[self.navigationItem setBackBarButtonItem:backButtonItem];
}
- (IBAction)backBtn:(id)sender {
NSLog(@"backBtn: called");
[[self navigationController] popViewControllerAnimated:YES];
}
当我点击我的后退按钮时,NSLog 会正确显示。
但我不知道该调用什么来回到我的观点。有没有人有想法?
【问题讨论】:
-
试试 popToRootViewControllerAnimated:YES
-
我只是尝试过,但没有任何改变 ^^ 但在我的整个代码中,我看不到任何可以正确启动后退函数的东西 x)
-
在方法backBtn中放一个断点,并尝试打印导航控制器的描述,并尝试打印您的根视图控制器。顺便说一句,您如何从根视图控制器呈现新控制器?
-
[self navigationController]为零吗?它的控制器是什么:[[self navigationController] viewControllers]?如果它是一个弹出窗口,我猜你以模态方式显示它,那么它必须关闭,而不是弹出,不是吗? -
欢迎来到 StackOverflow Adèle。以后请不要在您的帖子中包含有问题的代码(无论是调试日志还是 cmets)。谢谢!
标签: ios objective-c uibutton uinavigationbar back-button