2016-04-25 17 views
0

私はUIView型のself.photoViewを持っていますが、私はUIImageViewであるphotoImageViewを持っています。私はself.photoViewの中にphotoImageView XとYを配置したいと思います。Autolayout制約を使用して親ビュー内のビューを中央揃え

このコードは何も実行していません!

let photoImageView = UIImageView.imageViewForPhotoTaken(self.photoView.bounds, image: img) 
      photoImageView.contentMode = UIViewContentMode.ScaleAspectFit 

      self.photoView.addSubview(photoImageView) 

      // set the autolayout constraints 
      self.photoView.addConstraint(NSLayoutConstraint(item: self.photoView, attribute: NSLayoutAttribute.CenterX, relatedBy: NSLayoutRelation.Equal, toItem: photoImageView, attribute: NSLayoutAttribute.CenterX, multiplier: 1.0, constant: 0)) 
+0

後に呼び出される任意の方法があり、私は、サブVIを整列しますew(photoImageView)の中心は水平と垂直です。 –

+0

両方の軸の制約を作成する必要があります。さらに、高さと幅の制​​約を宣言する必要があります。コードでは、UIImageViewのサイズが0以外のサイズであることが示されています – Loxx

+0

問題は解決しましたか? ? – HardikDG

答えて

0

あなたはヨーヨーの制約を追加する前にphotoViewphotoImageViewtranslatesAutoresizingMasksIntoConstraints = falseを呼び出す必要があります。

+0

私はそれを試みたが、うまくいかなかった。 –

0

このコード試してみてください。

let photoImageView = UIImageView(image:UIImage(named: "logo")) 
photoImageView.contentMode = UIViewContentMode.ScaleAspectFit 
self.photoView.addSubview(photoImageView) 
photoImageView.translatesAutoresizingMaskIntoConstraints = false 

// set the autolayout constraints 
self.photoView.addConstraint(NSLayoutConstraint(item: photoImageView, attribute: .CenterX, relatedBy: .Equal, toItem: self.photoView, attribute: .CenterX, multiplier: 1, constant: 0)) 
self.photoView.addConstraint(NSLayoutConstraint(item: photoImageView, attribute: .CenterY, relatedBy: .Equal, toItem: self.photoView, attribute: .CenterY, multiplier: 1, constant: 0)) 

あなたが水平方向と垂直方向の中央には、両方のあなたは、両方行くX 'とを設定する必要がある場合行くY'制約を

また、あなたが適切に入れていることを確認してくださいあなたはこのコードを配置する必要があり、この

を設定する前に、「self.photoView」の制約は、「viewDidAppear」であるか、この

関連する問題