iOS图像在应用程序之外延伸

时间:2012-01-20 15:32:15

标签: ios image uiimageview resize

我的UIViewController里面有一个UIImageView。它加载的图像为81x37,原点为0x20。我想要做的是创建该图像作为我的背景和徽标。我的意思是,当我启动我的应用程序时,我希望图像包含整个屏幕,一旦我加载了所有数据并准备向用户显示,我想将它缩小为仅仅是一个图标屏幕的左上角。我想说调整大小的代码工作,但它似乎拉伸图像并将其切断大约一半。因此,它要么在屏幕尺寸之外渲染,要么只渲染它可以做到的。

以下是我在viewDidLoad和myReady函数中完成帧调整大小的代码片段。

- (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];
    }
}

2 个答案:

答案 0 :(得分:0)

为什么不设置originalSize = self.logoImage.frame和fullScreenSize = [[UIScreen mainScreen] bounds]?

无论如何,假设您的logoImage是imageView,您是否将imageView的contentMode设置为UIViewContentModeAspectFit或等效?默认情况下,imageViews不会缩放图像。

答案 1 :(得分:0)

我要感谢Damo回答我的问题。答案在评论中。

  

这是Damo的回答 -

     

您是否检查过fullScreenSize以查看它是否正在存在   设置为,实际上是正确的;即“拉伸图像和   将它切断中途“听起来就像它有一个风景画框   应该有一个纵向框架(反之亦然)。如果是这样的话   有更好的方法来确定框架。