2016-12-14 61 views
1

我有iOS上視圖層次佈置是這樣的:保持的UIDatePicker從生長太寬

UIViewController 
    - UIView 
    - UIButton 
    - UIButton 
    - UIScrollView 
     - UIStackView 
     - UILabel 
     - UIDatePicker 
     - UILabel 
     - UIDatePicker 

的渦旋視圖是從前導和中的一個的底部後在上海華0空間中,固定到20按鈕和0到底部佈局指南。

堆棧視圖對superview(滾動視圖)具有0個前導,尾隨,頂部和底部空間。

我喜歡了它在垂直方向: Vertical screenshot

但在水平方向,我認爲超出了UIDatePicker的主要內容排長隊還挺難看: Horizontal screenshot

我已經嘗試了許多排列的約束條件(UIDatePicker上的最大寬度+中心X,增加了各種內容擁抱優先級,UIScrollView和中心X沒有寬度約束),但都導致佈局不明確或衝突約束。我該怎麼做我在這裏瞄準的東西?編輯:有了如下建議的約束(ScrollView固定到容器,StackView固定爲ScilingView的0拖尾,Leading,Bottom和Top空間,並且在日期選擇器上的寬度相等約束),StackView拒絕展開其寬度並保持固定在其父項的左側。

StackView stuck to the side StackView stuck to the side, with view rectangles

出現這種情況,即使有開頭和結尾設置爲0的StackView約束。

+0

另外,現在已經在物理設備上測試了一下,使UIDatePicker延伸到屏幕的邊緣使得滾動非常困難。 –

+0

您已添加恆定的前導空間和尾隨空間,這些空間將始終保持相同的維度。 (在人像或風景模式下)。 – SNarula

+0

確實。問題是我不知道用什麼約束來替換前導/尾隨約束。到目前爲止,我嘗試過的所有內容都會導致模糊或衝突的佈局。 –

回答

1

AlignmentUIStackView更改爲中心

enter image description here

添加一個寬度約束的DatePicker = 315

現在stackview將保持DatePickerCenter與寬度315在兩個potraite和景觀

enter image description here

+0

你可以擴展一下這個應該放在其他對象上的約束嗎?特別是滾動視圖和堆棧視圖。 –

+0

只需將寬度約束添加到兩個DatePickers。即寬度= 315。Stackview只是從四面固定。沒有寬度限制stackview – Irfan

+0

對不起,我的延遲響應。請參閱我上面的更新。 –