在iphoneSDK中removeFromSuperview时重新加载视图

时间:2011-03-04 06:31:16

标签: objective-c ios4

在主视图中我像这样调用ViewB

viewB=[[ViewB alloc] initWithNib:@"ViewB" bundle:nil]
[self.View addSubview:viewB];

在viewB中我像这样调用ViewC

viewC=[[ViewC alloc] initWithNib:@"ViewC" bundle:nil]
[self.View addSubview:viewC];

我像这样关闭ViewC以返回viewB

[self.view removeFromSuperview];

当我关闭ViewC时,我想在ViewB中运行- (void)viewDidLoad我的意思是我想重新加载ViewB

1 个答案:

答案 0 :(得分:1)

你永远不应该直接调用viewDidLoad。如果你需要一些被调用多次的加载功能,那么就创建一个方法并在那里进行:

-(void) reloadData;

第一次在viewDidLoad中调用它。删除ViewC时下次执行此操作。不打电话给[self.view removeFromSuperview]是个好主意;在ViewC中。向ViewB添加方法:

-(void) dismissViewC {
    [viewC removeFromSuperview];
    [self reloadData];
}

并从ViewC调用它。

但是,如果您正在使用视图控制器,则可以在

中重新加载数据
-(void) viewWillAppear:(BOOL) animated;