0
点赞
收藏
分享

微信扫一扫

使UIScrollView的子控件在scrolling的过程中,子控件不滚动(固定在某个位置)


使UIScrollView的子控件在scrolling的过程中,子控件不滚动(固定在某个位置)


受本篇问答的启发

http://stackoverflow.com/questions/11272847/make-uiview-in-uiscrollview-stick-to-the-top-when-scrolled-up


修改代码如下

注意:使UIScrollView的子控件self.letter在scrolling的过程中,子控件self.letter向上不滚动(固定在某个位置),向下可随着self.scrollView一起滚动

其中self.letterY是在self.letter(本身是一个UIView)初始化的时候把自身的frame.origin.Y值存储到全局变量self.letterY中

#pragma mark UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
        CGPoint point = scrollView.contentOffset;
        CGFloat Y = point.y;
        CGRect frame = self.letter.frame;
        if (Y > 0) {
            if (Y <= (self.letterY + 35)) {
                frame.origin.y = self.letterY + Y;
            } else {
                frame.origin.y = Y;
            }
        } else {
            frame.origin.y = self.letterY;
        }
        self.letter.frame = frame;
        
        if (point.y > 95) {
            scrollView.contentOffset = CGPointMake(point.x, 95);
        }
}





举报

相关推荐

0 条评论