【发布时间】:2012-02-15 03:51:04
【问题描述】:
我的 UIViewController 中有一个 UIImageView。它加载一个原点为 0x20 的 81x37 图像。我要做的是创建该图像作为我的背景以及徽标。我的意思是当我启动我的应用程序时,我希望图像包含整个屏幕,一旦我加载了所有数据并准备好向用户显示,我想将它缩小为只是一个图标屏幕的左上角。我想说调整大小的代码有效,但是它似乎拉伸了图像并将其切断了大约一半。所以要么是在屏幕尺寸之外渲染,要么只渲染它可以渲染的内容。
下面是我如何处理我的框架调整大小的代码 sn-p,它在我的 viewDidLoad 和我的 isReady 函数中完成。
- (void) viewDidLoad
{
originalSize = CGRectMake(self.logoImage.frame.origin.x, self.logoImage.frame.origin.y, self.logoImage.frame.size.width, self.logoImage.frame.size.height);
fullScreenSize = CGRectMake(0.0, 0.0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height);
[self.logoImage setFrame:fullScreenSize];
}
- (void)isReady:(BOOL)initialized
{
if(initialized)
{
[self.logoImage setFrame:self.originalSize];
}
else
{
[self.logoImage setFrame:self.fullScreenSize];
}
}
【问题讨论】:
-
@Damo 在你提到方向之后,我确保检查全屏尺寸值,然后我需要我的宽度 == screenHeight 和我的高度 == screenWidth。必须有更好的方法让硬件根据它的方向告诉我尺寸,而不是翻转宽度和高度值
-
不客气 - 如果我有帮助,请给我点赞! ;-)
标签: ios image uiimageview resize