美文网首页
translucent

translucent

作者: 若水water | 来源:发表于2020-01-09 10:44 被阅读0次

    Controller view的frame 默认 是全屏,位置是从 屏幕顶点开始,高度为屏幕高度 。如下图:


    image.png

    由上图可以看出,导航栏为半透明状态,且它的颜色 是以当前控制器视图的背景颜色为基色。而NavigationController 的 Navigationbar 有一个属性,translucent,意思为透明度,默认效果为 yes(半透明,即上图状态)。
    那么 如果想让Controller的视图的位置 是从导航栏下方开始的,应该怎么做呢?

    • 设置导航栏的 translucent 的属性 为 No。如下图:


      image.png

      当导航栏的透明度设置为No 后,view 的起始点是从(0,64)即 从导航栏的下方开始的。高度 为屏幕的高度 减去 导航栏的高度。但是 结束为止还是到了 tabbar 的下方。

    • Controller 有个属性 edgesForExtendedLayout ,而这个属性的默认值 为 UIRectEdgeAll,为全屏撑开,可以在Controller中重新这个的get方法。
    -(UIRectEdge)edgesForExtendedLayout{
        return UIRectEdgeNone; 
    }
    
    12.png

    相关文章

      网友评论

          本文标题:translucent

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