2015-06-22 223 views
0

我正在開發一個應用程序在iOS.I已使用自動佈局,約束來構建用戶界面。但我仍然非常困惑它。我無法創建準確的用戶界面使用autolaout &大小classes.Please對不起,如果我我問的是非常基本的問題,因爲我對iOS很新鮮。如何動態更改iOS中視圖的高度和寬度?

這裏我創建了一個登錄屏幕。其中我有一個容器在middile中,其中包含一些文字提交&頂部的圖像是一種應用程序標誌,在容器下面有兩個按鈕。我有三個問題。

  1. 容器未對齊properly.It尺寸不斷增大容器&文本字段之間&保證金increasing.So UI看起來bad.I想增加寬度&高度相等的比重,因此,它不看壞。

2.標識的大小應該按照等比例增加,高度爲&寬度。

3.底部按鈕高度固定,高度按比例增加。

截圖 screenshot

+1

最關鍵的事情是有一個清晰的佈局的關係最小尺寸的限制需求。這是確定約束條件的最佳方式。你想要的佈局有些模糊。從你說的話來看,最簡單的選擇就是使用約束條件,這些約束條件允許需要增長的項目具有靈活性。例如對於圖像,您可以將其橫向居中,將其寬度設置爲<=(最大大小),將其縱橫比設置爲1:1,將頂部設置爲> =(最小邊距),並且其前導> =(最小余量)。這將允許圖像放大到最大值,但不會打破任何邊距。使用精確的約束將事情聯繫在一起。 –

+0

@RoryMcKinnel非常感謝。我對這些東西非常清新,所以你可以給我一些完整的教程,我可以找到解決方案。 – Techiee

+0

從Apple文檔開始,以便了解它是如何工作的:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html。然後,我會跳入並用你的應用程序作爲你的教程。 –

回答

0

你好,如果你想保持你需要的縱橫比限制爲這樣的工作比例:

NSLayoutConstraint *constraint =[NSLayoutConstraint 
          constraintWithItem:view 
          attribute:NSLayoutAttributeHeight 
          relatedBy:NSLayoutRelationEqual 
          toItem:childView 
          attribute:NSLayoutAttributeWidth 
          multiplier:4.0/3.0 //Aspect ratio: 4*height = 3*width 
          constant:0.0f]; 
[view addConstraint:constraint]; 

一個你需要知道更多的事情是不限制的觀點與其他約束一起增長。

假設您希望頂級圖像增長,請不要在側面添加一些固定的前導或尾隨,只需添加頂端約束並將視圖居中到其超級視圖。

如果要限制圖像大小,因此要走出上海華界只是增加主要與gratherOrEquelTo關係尾隨

希望我是清楚的約束。

//編輯

如果你想爲高度或寬度一些最小尺寸只是增加高度或你想gratherOrEquelTo