簡體   English   中英

設置UIImage的高度等於其寬度

[英]Set UIImage's height equal to its width

我的問題恰恰是標題所說的。 我將imageview的寬度設置為等於屏幕的寬度(通過情節提要,將左右約束設置為0),我嘗試過:

imageView.frame = CGRect(x: 0, y: 0, width: imageView.frame.width, height: imageView.frame.width)

但它不起作用。 不確定我的其余布局(圖像在堆棧視圖中)還是我的代碼是否有問題。

這是我的整個布局: 在此處輸入圖片說明 謝謝你的幫助。

該代碼不起作用,因為imageView.frame.width為0。您可以在情節提要中將堆棧視圖約束的寬高比設置為1:1,並將圖像視圖的左右約束設置為堆棧視圖的0。

以我的經驗,自動布局不會與設置框架混合在一起; 可以爭論的是,框架是根據自動布局約束設置的。

更重要的是,我想我對您想做的事情含糊其辭:

  1. 您想要的圖像應該是屏幕的整個寬度(或其一部分);
  2. 您希望它是正方形(或其他比率);
  3. 您希望它位於垂直的UIStackView中,以便您可以自動對齊標題等。

對於背景,UIImageView元素具有“本征”大小,設置為其中顯示的圖像的大小,並且如果沒有其他限制,將采用這些大小。 如果您未指定UIStackView的大小,則會根據其中元素的固有大小來調整大小。 如果您為其指定大小,它將嘗試調整其中的元素以適合其大小。

為了實現上面概述的方案,您想要將UIStackView的寬度設置為(例如,將其限制為與容器視圖的寬度相同)–這將強制將相同的寬度應用於UIImageView。

UIImageView的高度仍將基於其顯示圖像的高度。 要使UIImageView方形,可以將其寬高比約束設置為1:1。

祝您好運,如果我誤解了您想要實現的目標,或者您需要進一步澄清,請告訴我。

暫無
暫無

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

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