UISegmentedControl結(jié)合UIScrollView,實現(xiàn)點擊及側(cè)滑切換控制器視圖,使用addChildViewController方法以及addSubview方法,將視圖添加到UIScrollView上,發(fā)現(xiàn)每個控制器內(nèi)部的viewWillAppear方法不會走,這是因為沒有把controller和它控制的view remove掉 ??梢愿鶕?jù)UIScrollView滑動時的偏移量進(jìn)行手動調(diào)用viewWillAppear等方法,實現(xiàn)自己想要的效果。
#pragma mark - **************** UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
kLog(@"%f",scrollView.contentOffset.x);
self.segmentedControl.selectedSegmentIndex = (NSInteger)(scrollView.contentOffset.x / kScreenWidth);
if (self.segmentedControl.selectedSegmentIndex == 0) {
[_OptionalViewController viewWillAppear:YES];
}else if (self.segmentedControl.selectedSegmentIndex == 1) {
[_CurrencyViewController viewWillAppear:YES];
}else if (self.segmentedControl.selectedSegmentIndex == 2) {
[_CoinHomeViewController viewWillAppear:YES];
}
}