程序员iOS DeveloperiOS 开发

tableview的注意事项

2016-02-28  本文已影响462人  明月钓无痕

由于继承的控制器是UIViewController,需要对界面重新进行布局.


当控制器被推出之后出现的结果是如下图所示:


可以看出,tableview向上偏移了64.这就挺郁闷的,难道约束加的有问题.因为约束加的是到顶部的距离为0.
为了保证显示正确(如下图所示的情况):

解决方案一:
在初始化view时添加两句代码

//  public var automaticallyAdjustsScrollViewInsets: Bool // Defaults to YES
// 这个是scrollview自动调整.当scrollview是第一个view时,系统会自动调整,否则不会自动调整64
  automaticallyAdjustsScrollViewInsets = false
// 去掉自动调整后,我们可以手动将tableview的contentInset调整64,就能完成我们的需求
  tableView.contentInset = UIEdgeInsets(top: 64, left: 0, bottom: 0, right: 0)

需要注意的是automaticallyAdjustsScrollViewInsets这个属性是调整ScrollView的,也就是说继承了UIScrollview的都可能会出现这种问题

解决方案二:
先看一下在xib中添加的顺序,



这种解决方案就是,将tableview和view的添加顺序换一下,也而已达到上述效果,这样就不需要再添加代码了.

**附: **
当有tabBarController时,推出下一个界面时,我们要隐藏tabbar,最好的方式是设置一下属性

hidesBottomBarWhenPushed = true
上一篇下一篇

猜你喜欢

热点阅读