滑动标题

滑动标题_第1张图片
1.gif

思路:
1.一个UIview 上面添加scrollview ,标题在设置titleArray,添加lable,并且标记,注意位置改变后,当scrollview.contentSize.width大于UIview的宽度,需要判断,对scrollview进行滚动

[UIView animateWithDuration:0.3 animations:^{
        
        [self setLineViewFrameWithIndex:index];
        
    }completion:^(BOOL finished) {
        
        CGPoint point = self.baseScrollView.contentOffset;
        CGPoint lineViewToSelfPoint = [self.lineView.superview convertPoint:self.lineView.center toView:self];
        //如果没有充满屏幕,不滚动
        if (self.baseScrollView.contentSize.width < self.w ) {
            return ;
        }
        //把当前的滑动到中心点的距离
        CGFloat toScrollViewCenter = lineViewToSelfPoint.x - self.baseScrollView.center.x;
        if (toScrollViewCenter <0) {//要向右边滑动contentOffset.x >=0
            // 这里表示scrollView向右滑动
            point.x += toScrollViewCenter;
            // 但是向右滑动不能小于0,否则将会出现第一个 也向右偏移
            if (point.x <0) {
                point.x = 0;
            }
        }else {//向左滑动 contentOffset.x <= relationValue
            //这里表示向左滑动
            //这个是最大的偏移X量
            CGFloat maxOffX = self.baseScrollView.contentSize.width - self.baseScrollView.gtt_width;
            point.x += toScrollViewCenter;
            // 如果向左滑动超出了它的最大偏移量
            if (point.x>maxOffX) {
                point.x = maxOffX;
            }
            
        }
        [self.baseScrollView setContentOffset:point animated:YES];
    }];

你可能感兴趣的:(滑动标题)