首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新加载ParentViewController

重新加载ParentViewController
EN

Stack Overflow用户
提问于 2010-08-17 21:17:40
回答 2查看 781关注 0票数 0

我有一个iPhone应用程序,其中使用模式视图显示设置页面

[self presentmodalviewcontroller:tempcontroller animated:yes];

当用户完成设置时,他可以返回到上一页。

代码语言:javascript
复制
[self.dismissmodalviewcontroller animated:YES];

现在,当用户从设置页面返回时,我想重新加载我的主页。我读到了一些我应该使用@protocol and delegate来实现这一点的地方,我已经在网上浏览了一些关于这个主题的教程。但我无法做到这一点,我对@protocol and delegate一无所知,因为我是iPhone开发的新手。

请给我一些好的教程。这将是伟大的,如果你可以建议我的任何链接有我的需要一步一步的描述。

期待您的帮助……

提前感谢

Joy

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-17 22:12:40

另一个更简单的选择是使用NSNotificationCenter。看看这个

sending data to previous view in iphone

票数 2
EN

Stack Overflow用户

发布于 2010-08-17 22:03:56

Joy,

假设你有一个根,它以另一种方式呈现--称之为“viewController”。

模态被称为“模态”

“根”会说

代码语言:javascript
复制
[self presentModalViewController:Modal];

那么Root如何知道何时解除Modal呢?要做到这一点,最好的方法是为这种行为制定一个“协议”。

在Modal的头文件中,会有如下代码:

代码语言:javascript
复制
@protocol ModalViewDelegate <NSObject>

-(void)modalViewControllerDidFinish:(UIViewController *)viewController;

@end

然后,应该有一个modal的实例变量:

代码语言:javascript
复制
id<ModalViewDelegate> delegate;

使用一个属性:

代码语言:javascript
复制
@property (assign) id<ModalViewDelegate> delegate;

这使得每次Modal发送一条消息到它的属性'delegate‘时,我们知道它有一个方法-(空)modalViewControllerDidFinish:

因此,假设Modal中有一个按钮,您想要关闭它。该按钮只需调用[delegate modalViewControllerDidFinish:self];

在root的头文件中,您可以像这样声明类:

代码语言:javascript
复制
@class Root : UIViewController <ModalViewDelegate>

您可以像这样实现方法modalViewControllerDidFinish:

代码语言:javascript
复制
-(void)modalViewControllerDidFinish:(UIViewController *)controller {
    // any action you need to take on controller
    [self dismissModalViewControllerAnimated:YES];
}

这有意义吗?

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

https://stackoverflow.com/questions/3502783

复制
相关文章

相似问题

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