iOS - 单击选项卡图标时重新加载UIView?

时间:2010-12-20 19:26:05

标签: ios uiview uitabbarcontroller

我有一个使用UITabBarController的应用程序,在每个选项卡中我都有导航控制器。 我希望在另一个视图中发生操作后重新加载其中一个视图,以便当用户返回到该视图时 - 它会更新。 有可能吗?

非常感谢!

2 个答案:

答案 0 :(得分:8)

实现此目的的最简单方法是将加载代码放入viewWillAppear:而不是viewDidLoad。虽然viewDidLoad可能只被调用一次,但是当您的视图初始化时,只要您的视图控制器即将出现,就会调用viewWillAppear:,无论是在标签栏,导航控制器等中。,它为您提供了一个很好的钩子来实现加载和布局功能。

答案 1 :(得分:0)

感谢。这很完美。对于读这里的人来说,这是我的代码。它可以工作,但要注意,我是iOS和Objective-C的新手,因此需要注意。

- (void)viewWillAppear:(BOOL) animated
{
    NSURL *imageURL = [NSURL URLWithString:@"http://www.domain.com/image.jpg"];
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
        NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
        dispatch_async(dispatch_get_main_queue(), ^{
            // Update the UI
            self.img.image = [UIImage imageWithData:imageData];
        });
    });
}