Cen*_*ion 5 lazy-loading objective-c uitabbarcontroller ios
我已经读过,对UITabBarController进行子类化是一种非推荐的做法.但是,如何实现延迟加载标签栏项目的视图?
我正在玩一个标准的应用程序视图层次结构:在我的主应用程序委托文件(application:didFinishLaunchingWithOptions :)中,我正在实例化一个UITabBarController的自定义子类,带有4个标签栏项目/图标.我只需要加载第一个标签栏项的第一个视图 - 其他视图应该根据请求延迟加载.所以,在application:didFinishLaunchingWithOptions:中,我正在加载欢迎视图并将其推送到第一个UINavigationController(1).其他标签栏项为空UINavigationControllers - (2,3,4).这是我的UITabBarController的自定义子类,也是他自己的删除:
@interface MainUITabBarController : UITabBarController <UITabBarControllerDelegate> {
}
@end
@implementation MainUITabBarController
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{
UIImageView *image = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TableViewBG.jpg"]] autorelease];
UIViewController *vc = [self.viewControllers objectAtIndex:item.tag];
vc.view = image;
}
@end
Run Code Online (Sandbox Code Playgroud)
目前,第二个标签栏项的视图只是一个UIViewController,但我很快就会成为UINavigationController :)
那么,回到问题,还有什么其他(更多苹果投诉)选项来实现延迟加载的标签栏项目操作处理?
REA*_*EE 5
如果我正确理解你的问题,默认情况下TabbarController在延迟模式下加载项目的视图.也就是说,除非您单击标签栏上的某个项目,否则它将不会被加载.
您可以通过在每个视图的viewdidload上放置日志来查看它,并查看它何时被调用.
| 归档时间: |
|
| 查看次数: |
1706 次 |
| 最近记录: |