簡體   English   中英

在獨立視圖上應用自動布局

[英]Apply Auto-layout on Independent view

我在xib上有一個獨立的視圖(綠色視圖),並希望通過以下綠色視圖的自動布局來設置高度和寬度:

在此處輸入圖片說明

注意:我不想對代碼應用自動布局。

您無法在不相關的視圖之間設置約束。 它們必須在同一視圖層次結構中。 因此,我相信您無法在所需的界面構建器中完成此操作。

如果不在“主視圖”和自定義視圖(綠色視圖)之間建立關系,就無法做您想做的事情。 需要一些其他步驟:

  1. 創建一個View .xib文件( 您已經這樣做了
  2. 在Xcode中設計用戶界面( 似乎您已經這樣做了
  3. 設置xib的“自動布局”約束( 以防您在綠色視圖內添加更多內容-這些是“內部”約束
  4. 創建一個Swift代碼文件( 例如:CustomView.swift,繼承自UIView
  5. 將.xib文件的“文件所有者”自定義類設置為CustomView(它必須與類名匹配)
  6. 實現兩個CustomView初始化程序:init(coder :)和init(frame :)
  7. 使用NSBundle和UINib類從.xib文件加載UIView
  8. 為視圖添加自動調整大小的蒙版,以匹配CustomView本身的大小
  9. 將您的自定義視圖(綠色視圖)添加到主視圖控制器中,並設置所需的自動布局約束。

查看本教程以獲取完整的工作示例。

我認為您應該以編程方式添加約束(或在界面生成器中添加視圖並更改其可見性,但這並不好)。 您正在嘗試在綠色視圖和控制器主視圖之間設置約束,但是綠色視圖仍不知道哪個是其超級視圖。 從界面構建器中不可能做到這一點。

暫無
暫無

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

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