【发布时间】:2012-01-27 13:26:28
【问题描述】:
我有一个 1024 像素宽和 120 像素高的 .png 图像,旨在跨越 iPad 屏幕的底部(在横向模式下)。。
我故意让图像视图的大小与图像分辨率相同,因此不执行大小调整,并且图像像素和屏幕像素之间的比例为 1:1。在 100% 缩放的 iPad 模拟器上,png 看起来完全一样,因为它应该。当我在我的 iPad 1 上测试它时,图像变得扭曲,就像 iOS 试图重新采样图像一样。下面是从设备截取的截图。
如果我输出 UIImageView 边界,我会得到预期的宽度和高度。关于为什么会发生这种情况以及为什么模拟器上没有出现失真的任何想法?
编辑:用于插入 ImageView 的代码:
tile = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tile.png"]];
[tile setFrame:CGRectMake(0, 648, tile.bounds.size.width, tile.bounds.size.height)];
[self.view addSubview:tile];
我使用 IB 和编程得到了相同的结果。
编辑:po [[(id)UIApp keyWindow] recursiveDescription] 的输出
<UIWindow: 0x13f200; frame = (0 0; 768 1024); layer = <UIWindowLayer: 0x127df0>>
| <UIView: 0x14fd40; frame = (0 0; 768 1024); transform = [0, -1, 1, 0, 0, 0]; autoresize = W+H; autoresizesSubviews = NO; layer = <CALayer: 0x14ffe0>>
| | <UIImageView: 0x14f900; frame = (0 648; 1024 120); autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x14f940>>
| | <UIImageView: 0x14e210; frame = (125 666; 774 102); autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x14daa0>>
【问题讨论】:
-
为了看清楚失真,最好直接去链接的图片:png,iPad screen capture
-
能否展示放置图片的代码
-
在 gdb 中暂停应用并粘贴此命令的输出:
po [[(id)UIApp keyWindow] recursiveDescription]。 -
目前我是用IB添加的,但是我添加了之前的代码...
-
@robmayoff 我添加了那个输出。
标签: ios xcode ipad uiimageview uiimage