首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >alertView dismissModalViewControllerAnimated

alertView dismissModalViewControllerAnimated
EN

Stack Overflow用户
提问于 2012-01-14 11:34:11
回答 2查看 194关注 0票数 0

我有一个链接到不同视图控制器的主视图。我的一个视图有一些表单字段,当它们成功更新时,它会调用UIAlertView来通知用户。当用户忽略它时,将调用alertView:clickedButtonAtIndex:,我将dismissModalViewControllerAnimated:返回到我的主视图。

我遇到的问题是,当我这样做时,它不会调用viewDidLoad方法。我有需要更新的变量,谁能告诉我正在调用的是什么?我找不到任何东西,所以我可以进行更新。

EN

回答 2

Stack Overflow用户

发布于 2012-01-14 11:55:13

当视图控制器变为可见时,将调用viewWillAppearviewDidAppear。您可以检查这些函数中的数据是否已更新,并相应地更新视图。

票数 1
EN

Stack Overflow用户

发布于 2012-01-14 11:44:45

处理这种情况的一种简单而灵活的方法是从控制器公开一个方法来重置它。这样,在任何不可预见的情况下,您都可以调用此方法,并知道您的值正在被设置:

代码语言:javascript
复制
@interface MyController
- (void)reset;
@end

@implementation MyController
- (void)reset{
    //set some defaults
}
- (void)viewDidLoad{
   [self reset];
}
- (void)viewWillAppear{ //<--If you want to reset your values every time the view is about to appear
   [self reset];
}
- (void)viewDidDisappear{ //<--If you want to reset your values every time the view is either dismissed, covered, or hidden
   [self reset];
}
@end

然后在你的alertView:clickedButtonAtIndex:

代码语言:javascript
复制
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

    if (buttonIndex==0) { //whatever your situation is
         //dismissModalViewControllerAnimated:
         [self.myController reset];
    }
}

额外的阅读:UIViewController

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8859939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档