0

我在应用程序中有 TabBarController,所以所有标签栏项目都在同时加载,,

当我更新数据并返回时,以前的视图仍然存在,并且在它们上方添加了新视图

我应该怎么办

我的编码在 ViewWillApear 中,

我没有在 ViewDidLoad 中编码,因为我想在数据库中更新数据时查看数据,

并且 ViewDidLoad 被调用一次,但 ViewWillApear 每次都被调用,所以每次添加新视图并且以前的视图都在那里,,,,

希望你明白我的意思,,,

4

1 回答 1

0

您想要这些视图显示的值,或者您想要全部更新视图。

如果您只想更新值,请在 viewWillAppear 中执行此操作:无需再次创建和添加整个视图。这不是一个好习惯。

仅在 loadView 或 viewDidLoad: 方法中创建一次视图。并在 viewWillAppear 中为它们赋值:

或者在你的

-(void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];

    [self removeAllSubviews];

    //OR
    for(UIView * view in self.view.subviews)
    {
            [view removeFromSuperview];
            view = nil;
    }

}
于 2011-03-24T11:03:51.497 回答