【发布时间】:2012-01-29 05:09:32
【问题描述】:
我想在仅限 iOS5 的 iPad 应用程序中编写自己的 UITabbarController 替换。很像我在 GitHub MHTabBarController 上找到的那个。我阅读了代码,发现他预先分配了所有的 viewController:
ListViewController *listViewController1 = [[ListViewController alloc] initWithStyle:UITableViewStylePlain];
ListViewController *listViewController2 = [[ListViewController alloc] initWithStyle:UITableViewStylePlain];
ListViewController *listViewController3 = [[ListViewController alloc] initWithStyle:UITableViewStylePlain];
NSArray *viewControllers = [NSArray arrayWithObjects:listViewController1, listViewController2, listViewController3, nil];
MHTabBarController *tabBarController = [[MHTabBarController alloc] init];
tabBarController.viewControllers = viewControllers;
setter 的实现如下所示:
- (void)setViewControllers:(NSArray *)newViewControllers
{
_viewControllers = [newViewControllers copy];
for (UIViewController *viewController in _viewControllers)
{
[self addChildViewController:viewController];
[viewController didMoveToParentViewController:self];
}
}
setSelectIndex: 的设置器然后获取正确的 UIViewController 并使用 UIViewControllers 视图在 self 上调用 addSubview。
他用三个ListviewController 完全启动来实现它,这让我很烦。我发现自己记得有关使用延迟加载实现大型滚动视图的文章,但我在 google 上找不到任何内容,也不记得实现细节。
所以问题是,我应该为谁实现延迟加载,以便 UIViewController 将像标签栏上的用户标签一样加载,并带有关联的 UIViewController。
【问题讨论】:
-
我认为这是您问题的答案,如果您仍然需要它:stackoverflow.com/a/1197838
标签: ios uiviewcontroller ios5 uitabbarcontroller lazy-loading