2017-01-04 14 views
0

それは次のようになりますので、私はプログラム的ViewCellを作成していると私はUIImageViewUIButtonを中央にしたい:最初のinitメソッドでは、私はUIImageViewUIButtonを作成することを実現するためにUIImageViewでUIButtonをプログラムで中央に配置する方法

----------------------------- 
|        | 
|        | 
|   Button   | 
|        | 
|        | 
----------------------------- 

let imageView = UIImageView() 
imageView.contentMode = .scaleAspectFill 
imageView.layer.masksToBounds = true 
imageView.isUserInteractionEnabled = true 

let button = UIButton(type: .custom) 
button.setImage(UIImage(named: "button_image"), for: .normal) 
button.contentMode = .center 
button.frame = CGRect(x: 0, y: 0, width: 42, height: 42) 

そしていくつかの制約を追加します。ボタンとイメージビューの場合、これらの制約を追加しました:

button.addConstraint(NSLayoutConstraint(item: button, attribute: .centerX, relatedBy: .equal, toItem: imageView, attribute: .centerX, multiplier: 1, constant: 0)) 
button.addConstraint(NSLayoutConstraint(item: button, attribute: .centerY, relatedBy: .equal, toItem: imageView, attribute: .centerY, multiplier: 1, constant: 0)) 

しかし、私はいつも私のアプリをクラッシュします。

どのように私は中心のボタンを達成できますか?

答えて

1

translatesAutoresizingMaskIntoConstraintsからfalseに設定してください。完全にあなたのビューをロードしたら

+0

を試してみてください?私はどのようなビュー要素を意味しますか? – Tajnero

+0

制約を持つすべての要素に対して。 –

+0

これは間違いなく助けになりました。 – Tajnero

0

は、この

button.center = imageView.center 
0

はあなたが試さなければならないの:それはImageViewのとボタンフレームの中心を設定します

button.center = imageView.center 

0

myButton.center = self.image.center; 
0

よう.centerプロパティを試してみて、それを設定する必要があり、この

button.frame = imageV.frame

関連する問題