我试图将图片置于UIButton
内,并产生意外结果。
(1)当我打印按钮的中心点和控制台中的图像时,它们不匹配,但是它们应该,不应该吗?
(2)当我将.center
改为其他任何内容时,例如.left
,图片仍保留在中心位置。 .center
似乎无效。
func addSearchButton() {
let button = UIButton()
button.frame.size.width = 56
button.frame.size.height = 56
button.frame.origin.y = 20 + 8
button.frame.origin.x = 8
button.imageView?.contentMode = .center
button.backgroundColor = UIColor.green
button.setImage(#imageLiteral(resourceName: "searchIcon"), for: .normal)
button.setImage(#imageLiteral(resourceName: "searchIcon"), for: .highlighted)
button.addTarget(self, action: #selector(openSearch), for: .touchUpInside)
view.addSubview(button)
print("search: \(button.center.x)")
print("search: \(button.imageView!.center.x)")
}
我在这里做错了什么?
答案 0 :(得分:0)
(1)当然,他们不匹配,因为他们有不同的超级视图。 (查看vs按钮)??
(2)好像你期待布局对齐。 UIImageView的contentMode通常具有不同的效果,具体取决于其帧大小和图像大小。如果要更改图像位置,请改为更新imageEdgeInsets。