简体   繁体   中英

Changing frame size of UIImageView in navigation bar not working

I am not able to change the size of my image in the navigation bar for some reason.

Here is my code:

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

}

It's as if the titleImageView.frame = CGRect(x: 0, y: 0, width: 2, height: 2) line isn't even working.

Haven't found any recent solutions that would help.

UIImageView comes on top of UINavigation Bar title view. In your case you are not changing frame of navigation bar title view. Using a custom UIView & adding that instance on UINavigationBar item should solve your issue.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM