我正在尝试将UIButton
作为UINavigationBar
的标题视图(在UINavigationController
中),但在向按钮添加图片时,它似乎会拉伸整个标题视图:
我在这里做错了还是这个错误?这有解决方法吗?我正在运行iOS 11 beta 2,所以它可能只是一个测试版错误,但无法在iOS10上测试..任何帮助将不胜感激! :)
代码:
let titleButton = UIButton(type: .system)
titleButton.sizeToFit()
titleButton.tintColor = UFOGREENTHEMECOLOR
titleButton.setTitleColor(BLACKTEXTCOLOR, for: .normal)
titleButton.setTitle("John Doe", for: .normal)
titleButton.titleLabel?.font = UIFont(name: "Avenir-Book", size: 20)
titleButton.setImage(UIImage(named: "Default Avatar.png"), for: .normal)
self.navigationItem.titleView = titleButton
编辑:在IOS10上试过这个,行为相同。添加titleButton.imageView?.contentMode = .scaleAspectFit
正如CoderAzreal所建议的那样似乎可以解决图像被拉伸的问题,但标题仍然偏向右侧。
答案 0 :(得分:2)
尝试titleButton.imageView?.contentMode = .scaleAspectFit
答案 1 :(得分:0)
您可以为UIButton添加宽度约束
[self.search_button addConstraint:[NSLayoutConstraint constraintWithItem:self.search_button
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0
constant:32]];