簡體   English   中英

大小相等的UIImageView和UIImage

[英]UIImageView and UIImage of equal size

前幾天,我在代碼中遇到了一個奇怪的場景:

我有一個UIImageView,它使用setImage:加載圖像。 UIImageView事先使用一個具有圖像確切大小(41 * 41像素)的框架初始化。 我還將內容模式設置為UIViewContentModeCenter,這應確保我的圖像永遠不會縮放。

現在,當我查看圖像視圖時,我看到圖像有點水平修剪,並且看起來有點模糊(這是一個跡象,表明背景中正在發生某些縮放)。 相反,如果我使用額外的1個像素寬度初始化圖像視圖,則所有圖像都可以正常工作(但是,現在的圖像視圖比圖像寬1像素)。

另外,如果我使用initWithImage初始化UIImageView,那似乎也可以正常工作。 初始化后,我檢查了該視圖的框架,發現它的大小相同:41 * 41。

因此,最重要的是,我有一些解決此問題的方法,但是我試圖了解此處發生的情況。 我能想到的唯一解釋是:

  1. 框架中有一個錯誤
  2. 圖像的渲染不適用於特定尺寸的圖像。 我知道,例如,紋理始終是2的冪,盡管我懷疑這對於UIImageView是否具有重要意義。

出於記錄,我正在為OS 3.0進行編譯,該問題在模擬器和設備上均發生。

UIImageView是否包含在其他任何視圖中? 我以前遇到過的一件事是由分數像素偏移引起的模糊控制。 即,如果您使用除法計算框架並以非整數float值結束,則UIKit可以在某些偏移和大小處添加一些奇怪的模糊。

因此,圖像視圖可能具有整數大小,但考慮父對象時,它可能不是絕對幀。

暫無
暫無

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

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