添加子视图控制器

//添加子视图控制器

- (void) setupChildViewControllers

{

NSArray * vcNames = @[@"PersonageFinancialViewController",@"EnterpriseFinancialViewController"];

for (NSInteger i = 0; i < vcNames.count; i ++) {

NSString * vcName = vcNames[i];

UIViewController * vc = [[NSClassFromString(vcName) alloc] init];

//当执行这句话,不会执行vc的viewDidLoad

[self addChildViewController:vc];

}

//进入子控制器加载第一个页面

[self scrollViewDidEndDecelerating:self.scrollView];

}



- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {

CGFloat width = SCREEN_WIDTH;

CGFloat heitht = SCREEN_HEIGHT;

CGFloat offset = scrollView.contentOffset.x;

//获取索引值

NSInteger idx = scrollView.contentOffset.x / width;

//根据索引值返回vc引用

UIViewController * vc = self.childViewControllers[idx];

//判断当前vc是否执行过viewDidLoad

if ([vc isViewLoaded]) return;

//设置子控制器view的大小

vc.view.frame = CGRectMake(offset, 0, width, heitht);

//将子控制器的view加入scrollview上

[scrollView addSubview:vc.view];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容