【问题标题】:Customizing image size in code in iOS navigation controller在 iOS 导航控制器的代码中自定义图像大小
【发布时间】:2018-10-16 18:40:04
【问题描述】:

这是我用来在导航栏标题中设置图像的代码,

let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 100, height: 30))
imageView.contentMode = .scaleAspectFit

let image = UIImage(named: "fullLogo")
imageView.image = image

self.navigationItem.titleView = imageView;

问题是图像看起来有点太大了。如何在代码中调整图像大小?我尝试了许多宽度和高度的组合,但似乎不起作用。

【问题讨论】:

    标签: ios swift uiimageview uinavigationbar


    【解决方案1】:

    根据documentation:

    自定义标题视图以导航栏为中心,可以调整大小以适应。

    这就是您的图像视图发生的情况。解决方案可以是将imageView 作为子视图添加到UIView 并将UIView 分配给titleView 属性。

    更简单的解决方案可能是将imageView.contentMode 设置为.center,但在这种情况下,您需要确保您的fullLogo 图像实际上是100x30,如果它大于iOS 计算的titleView 帧您的图像将覆盖导航栏和视图控制器的视图。

    您可以使用frame: .zero 初始化您的UIImageView 或容器UIView,因为它的框架将在运行时重新计算。

    【讨论】:

      【解决方案2】:

      设置

      imageView.clipsToBounds = true
      

      对于调整图像大小,SO Post 会有所帮助。希望这可以帮助。

      快乐编码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多