美文网首页
iOS-tableview的在UIViewController上

iOS-tableview的在UIViewController上

作者: malgee | 来源:发表于2016-12-12 17:42 被阅读510次

    传统的直接创建UITableViewController,tableview的大小已经设置好了,这里要说的是在自定义控制器(UIViewController)上面覆盖一个cell列表。

    不带导航栏:
    tableview在自定义控制器(继承UIViewController)上面frame大小一般设置和屏幕大小一样,tableview上下滚动没什么影响,可以正常滚动。

    带导航栏:
    如果带导航栏的控制器,tableview的Frame大小需要考虑从MyViewController(自己创建的控制器,后面就用这个不再注释)的view的什么位置开始。

    • 如果从(x == 0,y == 0)开始,那么就不需要用
     self.automaticallyAdjustsScrollViewInsets = NO;
    
    

    这句代码了,不需要,向上滚动结束后底部的显示不会受影响。显示效果如图 img1

    img1.png
    • 如果加上,会出现tableview的frame从导航栏下方开始,上部64的高度内容会导航栏被遮住显示不出,很显然这不是我们想要的。显示效果如图 img2
    img2.png

    结论: 加上 self.automaticallyAdjustsScrollViewInsets = NO;继承于UIScrollView的控件 不会 向下滚动64的高度。

    如果从(x == 0,y == 64)开始,那么就需要用加上 self.automaticallyAdjustsScrollViewInsets = NO; 不加会出现一段64高度的空白,如图 img3

    img3.png

    带tabBar的

    当使用了tabBar后会发现tableView向上滚动到底部松手,会发现tableView底部的cell被tabBar盖着,这是设置self.automaticallyAdjustsScrollViewInsets = NO;是没有效果的。

    解决方法:[_displayTableview setContentInset:UIEdgeInsetsMake(0, 0, 49, 0)]; 设置滚动后停留在tabBar上面。

    ******** * * * * * 未完待续 ***********

    相关文章

      网友评论

          本文标题:iOS-tableview的在UIViewController上

          本文链接:https://www.haomeiwen.com/subject/levmmttx.html