UITabBarItem在第一次禁用加载时不会变暗

时间:2010-08-29 12:02:46

标签: iphone uitabbarcontroller uitabbaritem

我可以在我的应用中轻松启用和禁用没有值或内容的TabBarItems。奇迹般有效。我确实希望保留所有选项卡,以便显示此功能或内容将在整个应用程序的其他视图中可用,因为此特殊视图动态填充内容超过30次。

我的“TabBarController”中的DetailViewController是子类。在这个类中,我会检查是否存在任何内容,并通过传递viewWillAppear事件来延迟加载内容(阻止加载不存在的选项卡内容并检查Internet连接等)。工作快速而且好。

问题更多的是设计光学问题。第一次启用和禁用时加载视图有效,但图片不是“变暗”。加载第二个视图并执行相同的过程“ dim ”禁用标签...我缺少什么?

1 个答案:

答案 0 :(得分:0)

self调用viewWillAppear之前我会三思而后行,因为结果可能无法预测。

// BAD IDEA
- (void)viewDidLoad {
    ...
    [self viewWillAppear];
    ...
}

// OK
- (void)viewWillAppear {
    ...
    [super viewWillAppear];
    ...
}

...例外是您在同名方法中调用[super viewWillAppear]。

总的来说,最好将Apple的回调解雇给Apple。尝试重构viewWillAppear中的功能,然后在viewDidLoad,viewWillAppear和viewDidAppear中调用所需的功能。当你突破每一点功能时,问题很可能会出现。