2014-04-21 66 views

回答

0

只是更改每一高度和寬度的制定者和改變對方的價值。

換句話說,如果高度和寬度相同對象的屬性,有setHeight通話setWidth

最簡單的方式做到這一點,如果你有一個反映你的關係的第三個屬性是希望有高度和寬度,例如aspectRatio

如果您希望根據以前的高度或寬度值進行計算,您可以在兩個鍵路徑中註冊KVO更改(options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld)observeValueForKeyPath),您將得到一個帶有兩個舊的和新的值,從中可以計算用戶縮放值的大小,並相應地調整其他值(同時小心避免觸發KVO)。請參閱KVO編程指南中的registering for KVO observing。但是KVO更加困難,容易出錯,所以我會避免它,並通過覆蓋setter來保持數據模型的一致性。