[英]Autolayout: Title View that Grows to Encompass UILabel + UIButton
我正在自定義視圖控制器的標題視圖,以便顯示(從左到右):
我希望,隨着標簽水平增長以容納更長的文本,它將按鈕向右推得更遠(標簽和按鈕之間的水平空間保持不變),而整個標題視圖會調整自身大小以包含標簽和按鈕,同時保持居中在導航欄中。
這就是我所做的(界面生成器):
設置以下約束:
標簽 -> 標題視圖:
按鈕 -> 標題視圖:
(標題視圖本身不受約束)
但是,標題視圖保持固定大小。 如果在運行時我設置的標題比故事板中設置的占位符長,它會被修剪(“...”):
相反,如果我設置了一個較短的,標簽和按鈕之間會出現額外的空間:
或者,如果我添加以下約束:
標簽 -> 按鈕: 1. 水平間距
...現在按鈕被標簽完全隱藏:
我怎樣才能讓標題視圖水平增長(同時保持居中),以便它適合(靈活)標簽和(固定)按鈕,並保持它們之間的空間固定?
導航項未設置為直接處理此問題。 您需要使用約束來設置標題視圖的框架,然后將其添加到 nab 項中。 因此,每次更改文本時,您都需要通過刪除視圖、調整其大小然后再次添加它來做一些舞蹈。 關鍵 API 是systemLayoutSizeFittingSize
。
將按鈕的約束更改為水平空間以進行標簽
按鈕 -> 標題視圖:
要標記的水平空間
在容器中垂直居中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.