簡體   English   中英

iOS故事板限制/縱向和橫向視圖的特征

[英]iOS Storyboard Constraints/Traits for portrait and landscape view

我的iOS項目包含一個單獨的UIView或UIViewController。 控制器類稱為MainViewController.swift。 視圖控制器的視圖有一個我放在底部的子視圖: 在此輸入圖像描述

我設置了自動布局選項,以保持每個設備大小的子視圖的距離相同: 在此輸入圖像描述

現在我想保持子視圖始終位於父視圖的短邊,這意味着在橫向模式下,子視圖顯示在父視圖的右側: 在此輸入圖像描述

我同時檢查了一些教程和其他帖子:

在這一點上,我不清楚如何最好地實現這種行為? Possibilites我發現解決了這個問題:

  • 對特質不一樣......但是如何?
  • 約束?
  • 以編程方式 - 我認為這將是最快的解決方案,但我真的想使用故事板並學習正確的用法。

在這里,您可以玩大小類和特征。 如果你想在縱向模式下給予約束,你必須選擇緊湊的寬度和常規高度以及景觀緊湊寬度的緊湊高度。

請按照以下步驟分別限制縱向和橫向。

1)請從特征中選擇橫向和縱向模式。

2)現在,您可以逐個約束每個模式。 假設我在縱向模式下為紅色視圖提供約束,並且我將為縱向尺寸類啟用特定約束,因此它將對橫向模式禁用。

在此輸入圖像描述 3)一旦我們完成了縱向模式,我已經切換到緊湊高度緊湊的常規尺寸類,這是橫向模式。

在此輸入圖像描述

4)現在,我們可以約束橫向模式,如上面的屏幕截圖所示。

我們可以看到,對於當前大小類,禁用顏色淺的約束。

這就是我們如何分別約束橫向和縱向模式。

因為橫向iPad和縱向iPad之間沒有大小等級或特征差異,所以最終必須以編程方式處理至少一些情況。 既然如此,你也可以用一種方法來編程處理所有情況,例如:

  1. 獲取當前屏幕尺寸
  2. 如果width> height,則添加約束以使子視圖垂直居中並將其固定到右邊緣。 否則,添加約束以水平居中子視圖並將其固定到底邊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM