按钮中心图像会产生意外结果

时间:2017-09-21 17:24:08

标签: ios swift uibutton

我试图将图片置于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)")

}

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

(1)当然,他们不匹配,因为他们有不同的超级视图。 (查看vs按钮)??

(2)好像你期待布局对齐。 UIImageView的contentMode通常具有不同的效果,具体取决于其帧大小和图像大小。如果要更改图像位置,请改为更新imageEdgeInsets。

相关问题