[英]Image is not working as expected with constraints
我有一個根UIView
(用於渲染陰影),它的內容是另一個UIVIew
,它在底部包含一個UIImage
和一些標簽。 當我查看在接口生成器中設置了約束的示例海報時,它看起來或多或少是我想要的。
在此屏幕快照中, DropshadowUI View
包含內容並渲染陰影。 CardView
在底部同時包含UIImageView
和UILabel
。 DropshadowUI View
是透明的, CardView
具有藍色背景,並且是陰影的整個高度/寬度(帶有一點邊距), UIImageView
具有綠色背景,有助於在測試時區分視圖。 您可以看到, UIImageView
大約占據了CardView
布局的80%,這是理想的。 CardView
的其余部分由UILabel
。
但是,當我運行該應用程序時,約束似乎與界面構建器中所示的工作方式不同。 UIImageView
拉伸以占據CardView
的整個高度。 因此, UILabel
被隱藏起來了。 從我的UINavigationBar和UITabBar后面的綠色模糊來看,盡管圖像甚至沒有那么大,但UIImageView
似乎垂直延伸到可見區域的范圍之外。
現在,在界面生成器中設置了UIImageView
圖像(將在工作時以編程方式設置)。 內容模式為縱橫比適合。 為什么UIImageView
垂直拉伸? Status
標簽的Superview底部到底部的空間設置為8點。 Year
標簽的底部空間被限制在狀態的頂部。 該Movie Title
的屁股被約束到頂部Year
。 Movie Title
的頂部被限制在UIImageView
的底部。 假設標簽將阻止圖像視圖在底部生長,而是通過拉伸頂部而變高(這僅限於Superview視圖的頂部。
我的約束有問題嗎? 我仍在學習自動布局系統,因此,如果屏幕截圖中有某些內容無法幫助解釋我的約束條件,請讓我知道我可以做些什么來幫助澄清它們。
盡管設計時視圖看起來正確,但我還是將UIImageView
重置為建議的約束,並最終在運行時完成了此操作。
我是否有辦法約束UIImageView,以使圖像只能變得更高,直到空間不足以容納其余內容為止。 我在這里丟失了底部標簽,因為現在圖像適合UIImageView
但是將其他所有內容推到了最低點。 我希望它嘗試填充盡可能多的水平空間,直到它下面的兄弟姐妹不再能夠被進一步壓低為止。
我得到的與我想要的
選擇您的圖像,然后轉到“ 布局問題”工具>“重置為建議的約束”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.