加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

含有导航栏的视图里tableView的坐标问题(swift代码理论和OC相通)

发布时间:2020-12-14 07:10:31 所属栏目:百科 来源:网络整理
导读:视图代码如下,注意我两个tableView设置的坐标,和下面位置对比。 其他有关导航的设置参考:http://www.jb51.cc/article/p-kasawpnh-ck.html span style="font-family:Arial;font-size:18px;" self.view.backgroundColor = UIColor.whiteColor()// //设置导航

视图代码如下,注意我两个tableView设置的坐标,和下面位置对比。

其他有关导航的设置参考:http://www.52php.cn/article/p-kasawpnh-ck.html

<span style="font-family:Arial;font-size:18px;">        self.view.backgroundColor = UIColor.whiteColor()
//        //设置导航栏透明
//        self.navigationController?.navigationBar.setBackgroundImage(UIImage(),forBarMetrics: UIBarMetrics.Default)
//        //设置导航栏下部的线不显示
//        self.navigationController?.navigationBar.shadowImage = UIImage()

        let tableView1 = UITableView()
        tableView1.backgroundColor = UIColor.yellowColor()
        tableView1.frame = CGRectMake(0,50,self.view.frame.size.height)
        self.view.addSubview(tableView1)
        
        let tableView2 = UITableView()
        tableView2.backgroundColor = UIColor.greenColor()
        tableView2.frame = CGRectMake(50,64,self.view.frame.size.height - 64)
        self.view.addSubview(tableView2)</span>





self.edgesForExtendedLayout

<span style="font-family:Arial;font-size:18px;">self.edgesForExtendedLayout = .None //扩展  默认.All</span>

iOS7以后

设置self.edgesForExtendedLayout = .None ,会使tableView的位置下移至导航栏以下,对比图如下:





self.navigationController!.navigationBar.translucent

<span style="font-family:Arial;font-size:18px;">self.navigationController!.navigationBar.translucent = false //半透明 默认true</span>
直接放对比图吧:






self.automaticallyAdjustsScrollViewInsets

<span style="font-family:Arial;font-size:18px;">//automaticallyAdjustsScrollViewInsets:根据按所在界面的status bar,navigationbar,与tabbar的高度,自动调整scrollview的 inset,设置为no,不让viewController调整 默认true
        self.automaticallyAdjustsScrollViewInsets = true</span>


注释为网上的说法,这里用iOS9测试的,发现并未影响tableView的位置,对比图:




self.extendedLayoutIncludesOpaqueBars

<span style="font-family:Arial;font-size:18px;">self.extendedLayoutIncludesOpaqueBars = true //默认false</span>


和上一项结果一样。



另:这里有一个疑问,当设置导航栏透明时,设置 self.edgesForExtendedLayout = .None 导航会变成黑条,不解...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读