簡體   English   中英

為 UIButton 調整圖像大小

[英]Resize an image for a UIButton

我有一個帶有文本和圖像的 UIButton。 我希望圖像位於文本旁邊。

我的圖像是 100x100 像素。 結果,當我使用...

scaleAspectFit
內容水平對齊
或 imageEdgeInsets

...圖像在視覺上會改變大小,但不會改變 100px 框架的大小,因為圖像在按鈕中占據的空間(由灰色框表示)。 這會將文本推到一邊。 (圖1)

我可以通過弄亂 imageEdgeInsets 值來獲得正確的結果,但一次只能用於一台設備,因為按鈕的大小會隨屏幕大小而變化。

有沒有更好的方法可以直接更改圖像幀的大小而不使用分辨率較小的圖像(這會導致圖像質量大大降低)? (圖2)

我在 Photoshop 上創建了所需結果的視覺表示(圖 3)。

具有 UIView 縮放/imageInsets 的圖像,視覺上正確的大小,但灰色框架推送

尺寸和位置正確,但圖像質量差

期望的結果(在 Photoshop 中創建)

您可以使用如下自定義視圖:

  1. 在您的 storyboard 中添加一個視圖
  2. 然后將cornerRadius添加到該視圖
  3. 添加一個 imageView 並設置您想要的高度和寬度。
  4. 添加 label
  5. 將 imageView 和 Label 包裝在 StackView 中。
  6. 將 StackView 約束添加到 rootView。
  7. 最后將 TapGesture 添加到該 rootView 以便它像按鈕一樣工作。

我創建了這個

在此處輸入圖像描述

在此處輸入圖像描述

暫無
暫無

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

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