2017-05-29 33 views
0

我有一个UIButton有一个默认图像,如果一个属性设置它改变属性对象(图像);iOS - UIButton图像不符合预期

使用默认图像,一切正常,图像完美适合,但是当我使用图像时,我不知道为什么图像不适合。

下面的代码:

var user: User? { 
     didSet { 
      self.profileImageButton.setImage(self.user?.profileImage?.withRenderingMode(.alwaysOriginal) ?? #imageLiteral(resourceName: "plus_photo").withRenderingMode(.alwaysOriginal), for: .normal) 
     } 
    } 

    lazy var profileImageButton: UIButton = { 
     let button = UIButton(type: .system) 
     button.setImage(#imageLiteral(resourceName: "plus_photo").withRenderingMode(.alwaysOriginal), for: .normal) 
     button.layer.cornerRadius = 80/2 
     button.contentMode = .scaleAspectFill 
     button.layer.masksToBounds = true 
     button.clipsToBounds = true 
     button.layer.borderWidth = 1 
     button.layer.borderColor = .white 
     button.addTarget(self, action: #selector(didTapPhoto), for: .touchUpInside) 
     return button 
    }() 

我期待这样的事情 expected

但我发现了这个代替 output

+0

即使我在clipToBounds和maskToBounds之间进行交换,它仍然保持不变,但是使用默认图像(虚拟图像),它正确适合 –

回答

1

此行添加到您的button配置

button.imageView?.contentMode = .scaleAspectFit 
+0

解决方法:D谢谢。我设置了button属性而不是imageView。感谢您的帮助 –

+0

欢迎:) –