簡體   English   中英

UIImageView約束是1:1長寬比和1:1縮放到原始比例嗎?

[英]UIImageView constraint to be 1:1 aspect ratio and 1:1 scaled to original?

是否有任何簡單的方法可以實現1:1的縱橫比並縮放到ImageView中的原始圖像?

我不僅要保持圖像的長寬比,還希望它與基礎圖像的尺寸完全相同(也與原始圖像比例為1:1)...不小於,不大於...所以它將是在屏幕上以像素為單位或UIKit點的熱或與原始圖像的比例為1:1(縮放1)。

如果僅設置縱橫比,則圖像可能會放大或縮小,同時保持縱橫比。 我想防止這種行為,並告訴它不要擴大規模。

如何將小數位數設置為1作為約束? 有沒有辦法做到這一點,而沒有對寬度/高度限制進行任何硬編碼以匹配原始圖像的大小?

基本上,我想告訴自動布局...這是圖像,不要觸摸它,無論如何都不要縮放它,使其與原始圖像完全一樣(縮放1)。

更新:

我可以實現此目的的唯一方法是將擁抱/壓縮優先級設置為高於布局中的其他項目。 僅設置寬高比約束是行不通的...我認為沒有其他方法可以確保這種行為而無需觸及壓縮/擁抱優先級。

contentMode設置為aspectFit

請參閱Apple官方文檔

通過保持縱橫比來縮放內容以適合視圖大小的選項。 視圖邊界的所有剩余區域都是透明的。

不要在您的UIImageView放置任何高度或寬高比約束,而只是將寬度約束或前導和尾隨約束放入任何適合您的需求。 並使contentMode AspectFill

ImageView將自動縮放以匹配其所持圖像的縱橫比。 但是請確保高度<=您應該具有的最大高度(在下面的圖像中,我應該將height <=屏幕高度),以使圖像不會超出期望的范圍。

在此處輸入圖片說明 在此處輸入圖片說明

嘗試將ImageView的ContentMode設置為Center

還記得將剪輯設置為邊界。

imageView.clipsToBounds = true
imageView.contentMode = .center

暫無
暫無

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

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