2017-05-28 37 views
-2
class ViewController: UIViewController { 
    @IBOutlet var friendsButton: UIImageView! //Friends Button 
    @IBOutlet var circleButton: UIImageView! //Circle Button 
    @IBOutlet var profileButton: UIImageView! //Profile Button 
    @IBOutlet var whiteBoxSelector: UIImageView! //White Box Selector 

    override func viewDidLayoutSubviews() { 
     whiteBoxSelector.center = self.friendsButton.center //line that doesn't seem to run properly 
    } 
} 

一旦我運行此,我whiteBoxSelector移動到朋友按鈕,但只在y軸和x位置似乎是0.我沒有設置任何約束的白盒和我的按鈕都在一個堆棧視圖。爲什麼.center只能在y軸上爲我工作?

回答

0

視圖的中心屬性指定:

該幀的中心。

該中心被指定在座標 系統的超級視圖並以點爲單位進行度量。設置此 屬性會相應地更改幀屬性的值。

你的問題是whiteBoxSelectorfriendsButton不共享相同的superview,所以座標系是不一樣的。您需要將friendsButtoncenterfriendsButton(其超級視圖)的座標系統轉換爲whiteBoxSelector(其超級視圖)的座標系統。

override func viewDidLayoutSubviews() { 
    whiteBoxSelector.center = whiteBoxSelector.superview.convert(friendsButton.center, from: friendsButton.superview) 
} 
相關問題