#pragma mark - 監聽
- (
void
)titleClick:(XMGTitleButton *)titleButton
{
self
.clickedTitleButton.selected =
NO
;
titleButton.selected =
YES
;
self
.clickedTitleButton = titleButton;
[
UIView
animateWithDuration:0.25 animations:^{
self
.titleUnderlineView.width = titleButton.titleLabel.width;
self
.titleUnderlineView.centerX = titleButton.centerX;
}];
CGPoint offset =
self
.scrollView.contentOffset;
offset.x = titleButton.tag *
self
.scrollView.width;
[
self
.scrollView setContentOffset:offset animated:
YES
];
//不是人爲拖拽scrollView致使滾動完畢,會調用scrollViewDidEndScrollingAnimation這個方法
}
#pragma mark - <UIScrollViewDelegate>
- (
void
)scrollViewDidEndScrollingAnimation:(
UIScrollView
*)scrollView
{
int
index = scrollView.contentOffset.x / scrollView.width;
UIViewController
*willShowChildVc =
self
.childViewControllers[index];
if
(willShowChildVc.isViewLoaded)
return
;
willShowChildVc.view.frame = scrollView.bounds;
[scrollView addSubview:willShowChildVc.view];
}
- (
void
)scrollViewDidEndDecelerating:(
UIScrollView
*)scrollView
{
int
index = scrollView.contentOffset.x / scrollView.width;
[
self
titleClick:
self
.titleButtons[index]];
[
self
scrollViewDidEndScrollingAnimation:scrollView];
}