2016-02-15 26 views
0

我正在開發一個應用程序,我在其中顯示圖像視圖。圖像上有一些紅色點,它們是UIButton。當用戶點擊按鈕時,圖像應該放大。爲此,我添加了一個帶約束的滾動視圖下面如何在ios中使用約束條件來實現視圖動態位置?

ScrollView

內滾動視圖我有imageview的

現在我在我的屏幕大小的變化則圖像大小也changes.I添加了一個UIButton作爲紅點。我給出了它的約束水平&垂直線。

enter image description here

現在,當器件尺寸變化,則位置按鈕圖像也變化。 即使圖像尺寸增大,我想要的按鈕位置也應該是相同的所有設備。請告訴我,我怎麼能做到這一點。

回答

0
  • 添加上的UIImage的觀
  • 頂部的按鈕,然後從按鈕拖動到圖像添加約束。
  • 首先對UIImageView的前導空間和頂層的 空間提出兩個約束,使其成爲常數或​​標準,具體取決於需求。
  • 它看起來像這樣爲我們的代碼.. button.top = image.top button.leading = image.leading

  • 加入這兩個約束會做UR工作。

  • 如果你想修復按鈕的大小,你需要添加寬度和寬度約束。 生病附上它的樣子enter image description here

這裏的天氣圖標按鈕 (刪除約束拖尾和底部)

若要將圖像和IM設置限制的圖像根據圖像

  1. 按鈕設置圖像到一個已知的大小說100×100 ,然後將但噸在所需的地方。
  2. 現在檢查從圖像頂部到按鈕的距離。 ex。如果它是說12然後烏爾比率爲12:100
  3. 現在設定的常數(button.top)〜12
  4. 所以現在如果高度變化到由比率說200乘法它 我。Èimage.height* 12/100 在給定示例constant = 200(new image hieght) *(12/100)(ratio) = 24 這樣的button.top = 24
+0

我想保留按鈕fix.I的位置,如果圖像上的紅點雲,那麼它應該是在它不應該移動的每臺設備的雲上 – TechGuy

+0

ohh所以你的圖像在滾動視圖中是正確的? 所以你只需要將按鈕拖放到uiimage上即可。 ,然後將鼠標指針從按鈕拖動到uiimage。 可以獲得選項。我會編輯我的答案。 – Shravan

+0

是的。但問題是,如果圖像尺寸增加,然後紅點按鈕的位置改變image.say如果紅點圖像是在雲上的一個設備上,那麼它是相同的在另一個設備上的位置 – TechGuy

0

像視圖新的距離,就可以拖放的約束到viewController.m文件:

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myLayoutConstraint; 

其中你可以通過編程操作:

[UIView animateWithDuration:1.0 animations:^{ 
    self.myLayoutConstraint.constant = 10; 
} completion:^(BOOL finished) { 
    //handle completion 
}]; 
相關問題