tableview的区域随着手指滑动而动态改变

- (void)scrollViewDidScroll:(UIScrollView*)scrollView{

    /*

    CGRect frame = scrollView.frame;

    frame.origin.y = frame.origin.y - scrollView.contentOffset.y;

    NSLog(@"scrollView.contentOffset.y = %.2f, frame.origin.y = %.2f, scrollView.bounds.origin.y = %.2f", scrollView.contentOffset.y, frame.origin.y,scrollView.bounds.origin.y);

    // 1.contentOffset.y 向上滑为正 ,向下滑为负; 2.frame.origin.y 为scrollView的原点y坐标,向上滑减小,向下滑增加  3.scrollView.bounds.origin.y 和 contentOffset.y值相同

    */

    CGFloat height = 100 ;//tableView上面的View高度

    CGRectaOriginRect = scrollView.frame;

    aOriginRect.origin.y= aOriginRect.origin.y- scrollView.contentOffset.y;//tableView当前的y坐标


    if(aOriginRect.origin.y<= height+LL_StatusBarAndNavigationBarHeight  && aOriginRect.origin.y>=0){//向上滑,但scrollView没滚动出View

        CGRectaOriginBounds = scrollView.bounds;

        aOriginBounds.origin=CGPointMake(0,0);

        scrollView.bounds= aOriginBounds;

    }

    else if (aOriginRect.origin.y > height+ LL_StatusBarAndNavigationBarHeight ){//向下滑

        aOriginRect.origin.y= height +LL_StatusBarAndNavigationBarHeight;

    }

    else{

        aOriginRect.origin.y=0;//向上滑,且scrollView滚动出View

    }


   CGSizescreenSize = [[UIScreenmainScreen]bounds].size;

    aOriginRect.size.height= screenSize.height- aOriginRect.origin.y;

    scrollView.frame= aOriginRect;


    self.titleView.frame = CGRectMake(self.titleView.frame.origin.x, scrollView.frame.origin.y - height, self.titleView.frame.size.width, self.titleView.frame.size.height);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容