美文网首页swift
iOS15 UIBarAppearance

iOS15 UIBarAppearance

作者: 投资小白 | 来源:发表于2022-03-10 15:03 被阅读0次

    UIBarAppearance是iOS13苹果新出来的一个对相应的空间统一设置外观样式的API,可以统一配置NavigationBar 、TabBar、 Toolbar等的外观样式。

    UIBarAppearance的子类

    UINavigationBarAppearance 设置导航栏外观样式

    UITabBarAppearance 设置Tabbar外观样式

    UIToolbarAppearance 设置Toolbar外观样式

    这里用导航条的UINavigationBarAppearance作为示例,TabBar和Toolbar的设置外观样式使用的方式与其相同

    1.UINavigationBar默认外观样式

    iOS15以前默认是半透明毛玻璃

    iOS15以后默认是透明,在滑动时如果系统检测到导航栏下方有其他UI的话,导航栏会变成半透明毛玻璃,想要默认半透明毛玻璃,设置standardAppearance和scrollEdgeAppearance,单独设置standardAppearance也不行

    let navBarAppearance = UINavigationBarAppearance()

    navigationBar.scrollEdgeAppearance = navBarAppearance

    navigationBar.standardAppearance= navBarAppearance

    2.UINavigationBar相关属性说明

    barTintColor 导航栏背景颜色

    iOS15以前设置有效果

    iOS15以后无效果需要设置UINavigationBarAppearance的backgroundColor

    tintColor 导航栏文字 颜色

    isTranslucent 半透明

    默认为YES,当设为YES,iOS15以前先取barTintColor的颜色,当barTintColor为nil默认半透明毛玻璃,iOS15先取UINavigationBarAppearance的backgroundColor颜色,当UINavigationBarAppearance的backgroundColor为nil,UINavigationBarAppearance的backgroundEffect默认半透明毛玻璃,当UINavigationBarAppearance的backgroundEffect为nil背景为透明

    当设为NO,iOS15以前先取barTintColor的颜色,当barTintColor为nil默认白色,iOS15先取UINavigationBarAppearance的backgroundColor颜色,当UINavigationBarAppearance的backgroundColor为nil,UINavigationBarAppearance的backgroundEffect默认背景为灰色,当UINavigationBarAppearance的backgroundEffect为nil背景为黑色

    shadowImage 下划线

    iOS13以前设置有效果,不过需要同时设置backgroundImage,会影响导航栏背景,不建议

    iOS13以后无效果需要设置UINavigationBarAppearance的shadowColor和shadowImage

    scrollEdgeAppearance iOS15

    当可滚动内容的边缘与导航栏的边缘对齐时,导航栏的外观设置。如果这个属性的值为nil, UIKit使用导航栏的standardAppearance外观属性的值,修改为有一个透明的背景

    standardAppearance iOS13

    设置导航栏标准高度的样式设置,默认样式。此属性的默认值是一个包含系统默认外观设置的外观对象

    3.UINavigationBarAppearance相关属性说明

    backgroundEffect

    半透明效果,基于backgroundColor或backgroundImage的磨砂效果

    backgroundColor

    背景色

    backgroundImage

    背景图片

    backgroundImageContentMode

    渲染backgroundImage时使用的内容模式。 默认为UIViewContentModeScaleToFill。

    shadowColor

    阴影颜色(底部分割线),当shadowImage为nil时,直接使用此颜色为阴影色。如果此属性为nil或clearColor(需要显式设置),则不显示阴影

    shadowImage

    阴影图片

    相关文章

      网友评论

        本文标题:iOS15 UIBarAppearance

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