/**
button 是选中的标题按钮
width 是滚动视图的宽度
*/
-(void)setScrollTitleBtnCenter:(UIButton *)button scrollViewWidth:(CGFloat)width{
//计算按钮中心点距离滚动视图中心点的距离差,该offsetX最后用作滚动偏移量
CGFloat offsetX=button.center.x-width/2;
//计算超出屏幕的那部分的宽度
CGFloat maxRight=self.scrollView.contentSize.width-width;
//如果当前button的中心点小于0,就证明是前几个button
if(offsetX<0){
offsetX=0;
}
//如果当前的距离差大于超出屏幕那部分宽度,就证明是最后那几个button
if(offsetX>maxRight){
//那么就滚动最大限度的偏移量
offsetX=maxRight;
}
//最后设置滚动视图的偏移量
[self.scrollView setContentOffset:CGPointMake(offsetX, 0) animated:YES];
}
网友评论