這聽起來不太難,但經過數小時的嘗試,我無法得到適當的解決方案。如何設置NSLayoutAnchor生成寬高比爲1:1的居中子視圖
問題:我想設置限制(與類NSLayoutAnchor),以獲得一個子視圖(colorImageView)beeing 在上海華居中,以1:1的長寬比:1 AND總是在最大尺寸可能在超視圖中,有時寬度>高度或高度>寬度。
實施例1:SuperViewSize =寬度:80,高度= 100 - >子視圖應該得到的高度和寬度80,並在(40/50)
居中實施例2:SuperviewSize =寬度: 60,高度= 50 - >子視圖應得到高度和寬度爲50並居中在(30/25)
我不想要/並且它不能解決問題/硬編碼widthConstraint = min(superviewWidth,superviewHeight ),因爲在創建子視圖時,superviews界限並未最終定義 - >所以我需要一個約束。
這是我嘗試到目前爲止(人仍下落不明約束,以最大可能變化的上海華盈中設置的高度和寬度:
// CREATE CONSTRAINTS(center in SuperView)
colorImageView.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
colorImageView.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true
// CREATE CONSTRAINTS (ratio 1:1)
colorImageView.widthAnchor.constraint(equalTo: colorImageView.heightAnchor, multiplier: 1.0).isActive = true
我會很感激的提示,該怎麼做。感謝提前:))
我更新了斯威夫特3語法答案。 – vacawama