簡體   English   中英

iOS Swift UIImageView 縱橫比未隱藏

[英]iOS Swift UIImageView with aspect ratio not getting hide

在我的應用程序中,我想顯示自定義按鈕,例如:

  • 僅標題按鈕
  • 帶有圖像 + 標題的按鈕
  • 僅圖像按鈕

在此處輸入圖像描述 在此處輸入圖像描述 在此處輸入圖像描述

要創建這樣的按鈕,我采用了UIView並在其下添加了UIImageViewaspect ratio為 24:48 和UILable

對於按鈕類型圖像 + 標題,一切正常,但對於僅標題按鈕,我的UIIlmageView沒有被隱藏,即即使我已經添加

        leftImageviewWidthConstaraint.constant = 0

        leftImageviewWidthConstaraint.isActive = false 

我還缺少什么。 請建議。

當您執行leftImageviewWidthConstaraint.isActive = false時,您會關閉約束,因此自然內容大小可能會導致它仍然可見..

所以就這樣做

leftImageviewWidthConstaraint.constant = 0更改值並在之后禁用它。

您也可以在調整約束后嘗試self.layoutIfNeeded() 在極少數情況下會有所幫助

我要做的是將 UIImageView 和 UILabel 添加到水平 UIStackView 中,並按比例分布。 這樣,如果你給 UIImageView 一個固定大小,UILabel 將獲得空間的 rest,如果你隱藏 UIImageView,UILabel 將獲得整個空間的 StackView。 如果你隱藏 UILabel,同樣的事情。

希望能幫助到你!

確保 label 的前導約束連接到圖像視圖的尾隨約束,而不是容器視圖的左側。 通過調用leftImageviewWidthConstaraint.constant = 0它應該可以工作。 並且不要停用約束,您可能會遇到崩潰或其他 UI 問題。 我只是試了一下,它對我有用:

在此處輸入圖像描述

暫無
暫無

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

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