gpt4 book ai didi

iphone - UINavigationController 自定义 popViewControllerAnimated 方法

转载 作者:行者123 更新时间:2023-12-03 19:39:08 24 4
gpt4 key购买 nike

我制作了一个自定义 UINavigationController 类,这样我就可以弹出一个 UIAlertView 并说,您确定要在点击后退按钮时离开此 View 吗?

我有一个客户,方法如下:

- (UIViewController *)popViewControllerAnimated:(BOOL)animated
{
if([[self.viewControllers lastObject] class] == [weddingSetupController class]){

UIAlertView *exitAlert = [[UIAlertView alloc]
initWithTitle:@"Are you sure?"
message:@"By leaving the setup, all current changes will be lost. The setup can be retsrated later if you decide to leave now. However, it is recomened for your best experience that you complete the setup."
delegate:self cancelButtonTitle:@"No"
otherButtonTitles:@"Yes", nil
];

[exitAlert show];

return nil;
}
else {
return [super popViewControllerAnimated:animated];
}
}

它运行良好,但有一个问题是,如果我说“否”,它会保留在同一 View 上,不会弹出父 View ,但导航栏会弹出。所以我让 View 不会弹出,但栏始终返回到其父 View 的状态。

最佳答案

当您按下导航栏上的后退按钮时,它会调用:

- (UINavigationItem *)popNavigationItemAnimated:(BOOL)animated;

在 UINavigationBar 中,它又调用导航 Controller 上的 popViewControllerAnimated。重写此方法(我使用类别,以避免子类化)并采用相同的方法。你的首要观点只是晚了一步。

关于iphone - UINavigationController 自定义 popViewControllerAnimated 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8097409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com