2014-02-09 52 views
4

說實話,我不是自動佈局的忠實粉絲。但基於工作要求,我必須採用自動佈局,當我嘗試在自動佈局中進行簡單的比例更改時,位置出錯。更改比例當自動佈局啓用,定位問題

這裏的圖像看起來像在故事板

enter image description here

,這裏是它的外觀時,自動佈局被禁用(結果我找的)

enter image description here

和這是自動佈局啓用時的樣子(錯誤的位置)

enter image description here

,這裏是我的約束

enter image description here

而且我對大規模更改代碼:

self.batImageView.transform = CGAffineTransformMakeScale(3, 3); 

我甚至需要10聲譽上傳圖片..和10聲譽張貼不止2個鏈接....

任何人都可以幫助我發佈這些圖像?

謝謝!

回答

0

加油! Autolayout非常有趣! :)

沒有測試,但這樣的事情應該工作:

  1. 刪除所有已
  2. 添加2個約束水平中心和垂直中心batImageView到視圖的約束。
  3. 更多地添加2個約束,一個用於原始寬度,一個用於原始高度。

你batImageView約束應該是這樣的故事板:

batImageView constraints

現在,你可以在寬度和高度IBOutlets添加到您的類:

@property IBOutlet NSLayoutConstraint *batImageViewWidthConstraint; 
@property IBOutlet NSLayoutConstraint *batImageViewHeightConstraint; 

所以你幾乎完成,只要您必須更改imageView的大小,只需設置新的約束條件,例如:

CGFloat scaleFactor = 3.0; 
self.batImageViewWidthConstraint.constant = scaleFactor * self.batImageViewWidthConstraint.constant; 
self.batImageViewHeightConstraint.constant = scaleFactor * self.batImageViewHeightConstraint.constant; 
[self setNeedsUpdateConstraints];