簡體   English   中英

UIButton不顯示按鈕內的完整圖像

[英]UIButton doesn't show the full image inside the button

我試圖將UIButton(寬度:55,高度:55)設置為圖像尺寸55 * 55。 但是在設置圖像后,按鈕變為這種方式

在此處輸入圖片說明

小於圖像尺寸。 我不知道如何使圖像填充按鈕。 有人可以給我一個提示嗎? 還是應該改為UIImageview?

您的圖像是2倍,因此看起來很小。

選項1在xcassets中將其移動到1x。

選項2如果要保留為2倍。 您需要高分辨率的圖像110 x 110。

像這樣填充圖像:

myButton.contentHorizontalAlignment = .fill
myButton.contentVerticalAlignment = .fill

您可以更改內容模式,然后查看。 chnage內容模式,然后查看。

來自蘋果

iOS使用坐標系將內容放置在屏幕上。 該坐標系基於點的測量,這些點映射到顯示器中的像素。

蘋果的更多內容

一點不一定對應一個物理像素。

所有圖像格式(PNG,JPG等)均使用像素調整大小。 您的圖片是(55px,55px),並且已將其放置在資產目錄中2x比例因子位置。 這是在告訴系統將圖像解釋為好像是要放到2x縮放因子的屏幕上的,這意味着圖像是(27.5pt,27.5pt)。

您正在指定按鈕大小(以磅為單位) 因此,您要將27.5x27.5的圖像放入55x55的按鈕中。

將映像移至資產目錄中的1x插槽可解決您的問題,但會犧牲質量。 設計人員的意圖是使該圖像以特定的分辨率顯示。 通過在比例因子為2x的設備的1x插槽中使用(55px,55px)資產,可以將圖像的預期分辨率減半。

適用於生產iOS開發的正確解決方案:

設計團隊(可能是另一個人,也可能是您)應該以1x,2x和3x比例因子渲染所有資產。 (對於Android,這些分別稱為hdpi,xhdpi,xxhdpi,而Android支持更多的比例因子)

開發人員應該在布局UI時專心工作。 如果圖像應為55x55,則應獲得3張圖像,分別為55x55px,110x110px和165x165px。 這將確保圖像在所有iOS設備上看起來都一樣。

新方法

Xcode 7中添加了一種更便捷的方式來處理不同內容比例因子的噩夢。您可以提供單個矢量圖形作為PDF,Xcode將為您完成其余工作。 這有很多好處,包括要管理的文件更少。 這也意味着,如果Apple要推出4倍比例因子設備,那么您要做的就是重新編譯您的應用程序。

你可以使用圖像按鈕

在此處輸入圖片說明

暫無
暫無

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

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