【问题标题】:How to resize UINavigationBarAppearance background image如何调整 UINavigationBarAppearance 背景图像的大小
【发布时间】:2020-11-05 11:45:11
【问题描述】:

我正在尝试使用 UINavigationBarAppearance 将背景图像添加到我的导航栏。但是,imageView 的大小比导航栏内容视图大。我该如何解决这个问题?

结果:注意图像视图与安全区域重叠

层次结构调试器

代码:

  private func setupNavBar() {
    navigationItem.largeTitleDisplayMode = .never
    guard let navigationController = navigationController else { return }
    let appearance = navigationController.navigationBar.standardAppearance.copy()
    appearance.configureWithTransparentBackground()
    appearance.backgroundImage = UIImage.checkmark
    appearance.backgroundImageContentMode = .scaleAspectFit
    appearance.backgroundColor = .red
    navigationController.navigationBar.standardAppearance = appearance
  }

【问题讨论】:

    标签: ios swift uinavigationbar uinavigationbarappearance


    【解决方案1】:

    找到了替代方案。我没有使用外观背景图片,而是在导航项上设置了 titleView。

    let imageView = UIImageView(image: UIImage.checkmark)
    imageView.contentMode = .scaleAspectFit
    navigationItem.titleView = imageView
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-10
      • 2018-01-01
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多