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

Changing frame size of UIImageView in navigation bar not working

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

这是我的代码:

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) 线根本不工作。

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

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