我刚刚将XCode更新为版本9,并且在没有重大更改的情况下运行我的项目时,标题徽标已增加其大小以填充标题。在升级之前,它的大小覆盖了我想要的导航栏的50%左右。
我定位徽标的代码如下:
//Logo on NavBar
let logo = UIImage(named: "logo.png")
let imageView = UIImageView(image:logo)
imageView.height = (self.navigationController?.navigationBar.height)! - 25
imageView.contentMode = .scaleAspectFit
self.navigationItem.titleView = imageView
以下是徽标的使用方式(以及它应该如此):
在XCode更新之后,它的外观如下:
为什么会发生这种情况的任何想法?
答案 0 :(得分:2)
我遇到了同样的问题 - 只是出现在iOS 11中。 所以我已经以编程方式为imageview设置了高度和宽度约束。
imageView.widthAnchor.constraint(equalToConstant: YOUR_WIDTH).isActive = true
imageView.heightAnchor.constraint(equalToConstant: YOUR_HEIGHT).isActive = true
答案 1 :(得分:1)
要在iOS 11中进行相同操作,请在titleView中添加一个subView并根据需要调整其大小。
let imagen = UIImageView(frame: CGRect(x: -view.view.frame.width/3, y: -(view.navigationController?.navigationBar.frame.height)! / 2, width: view.view.frame.width/1.5 , height: (view.navigationController?.navigationBar.frame.height)!))
imagen.image = #imageLiteral(resourceName: "logo")
view.navigationItem.titleView = UIView()
view.navigationItem.titleView?.addSubview(imagen)