在导航栏中更改UIImageView的框架大小不起作用

时间:2019-02-19 22:26:32

标签: ios swift uiimageview uinavigationbar swift4

由于某种原因,我无法在导航栏中更改图像的大小。

这是我的代码:

private func setupNavigationBarItems() {

    let titleImageView = UIImageView(image: UIImage(named: "radius_image"))
    titleImageView.frame = CGRect(x: 0, y: 0, width: 2, height: 2)
    titleImageView.contentMode = .scaleAspectFit
    navigationItem.titleView = titleImageView

}

好像titleImageView.frame = CGRect(x: 0, y: 0, width: 2, height: 2)行根本没有用。

最近没有找到任何有帮助的解决方案。

1 个答案:

答案 0 :(得分:1)

UIImageView位于UINavigation Bar标题视图的顶部。就您而言,您不会更改导航栏标题视图的框架。 使用自定义UIView并在UINavigationBar项上添加该实例可以解决您的问题。

let titleView = UIView.init(frame: CGRect.init(x: 0, y: 0, width: 2, height: 2)) // Add your frames
let titleImageView = UIImageView(image: UIImage(named: "radius_image")) // Give your image name
titleImageView.frame = titleView.bounds
titleView.addSubview(titleImageView)
self.navigationItem.titleView = titleView