ios - 创建白色半透明 UINavigationBar

标签 ios swift

通常,半透明的 UINavigationBar 在白色背景上有浅灰色。

Image 1

但是,整个 iOS 11 中的许多导航栏都是白色的。 例如,"file"应用中的导航栏是白色和半透明的,这与将 barTintColor 设置为白色明显不同。

Image 2 Image 3

如何在 UINavigationBar 上实现这种效果?

最佳答案

  1. 将导航栏的 barTintColor 设置为白色。
  2. 之后,继承 UINavigationBar 并将阴影图像设置为空的 UIImage

    class CustomNavBar: UINavigationBar {
       override func awakeFromNib() {
          super.awakeFromNib()
          shadowImage = UIImage()
       }
    }
    
  3. 最后,将导航栏的类设置为您刚刚创建的自定义导航栏类​​。

结果

translucent navigation bar, white background

translucent navigation bar, partially black background

关于ios - 创建白色半透明 UINavigationBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48169550/

相关文章:

ios - 访问TableView中的所有单元格

objective-c - mapkit 绘制带有破折号图案的折线会导致 map 上不断闪烁

ios - 如何在 UITableView 框架中获取手势识别器的位置,而不是边界

ios - fatal error : unexpectedly found nil while unwrapping an Optional value - when UITextField is tapped

ios - 将 Datetime c# 转换为 Objective c 和反转

ios - AppCode 没有目标产品

ios - 读取 Firebase Auth 抛出错误(Firebase 3.x 和 Swift)

ios - Objective-C 中的倾斜图像

swift - 类型转换/多态性如何与 Swift 中的这种嵌套闭包类型一起工作?

ios - CloudKit modifyRecordsCompletionBlock 随机失败