【问题标题】:Resized Image ( 320x480) is not full screen? What is the full screen size for iPhone?调整大小的图像(320x480)不是全屏? iPhone的全屏尺寸是多少?
【发布时间】:2012-03-10 10:17:07
【问题描述】:

我正在尝试将我的图像(从 URL)调整为 iPhone 中的全屏。但是,应该是全尺寸的 320x480 尺寸不是全屏。

-(IBAction)changeFullSize{
    urlImage.contentMode = UIViewContentModeScaleAspectFit;
    urlImage.frame = CGRectMake(0,0,320,480);
}

我在这里使用UIButton,所以当用户点击不透明按钮时,它会变为全尺寸图像。

但是,顶部的标签栏和图片的开头之间有一个空白区域。

全屏的正确尺寸是多少?有没有办法让它自动调整到全屏而不需要我指定宽度和高度?

谢谢。

【问题讨论】:

  • 可能是纵横比的问题。图片的实际尺寸是多少?

标签: iphone objective-c uiimageview fullscreen


【解决方案1】:

如果你有状态栏,那么不要忘记从高度减小它的大小。

而且 aspect-fit 会保持图像的正确比例,然后考虑填充它。

Aspect-fill 将使图像保持正确的比例 + 将尝试全屏显示,没有空白,可能图像的某些部分不会显示。

缩放填充将保持图像全屏,比例无关紧要。

【讨论】:

    【解决方案2】:

    您不能仅通过更改其框架来调整图像大小,因为您使用的是宽高比,图像将保持其原始宽高比,这取决于您的需要,一种简单的方法是更改​​为 UIViewContentModeScaleToFill

    如果缩放填充没有产生您想要的结果,您可能需要查看特雷弗关于 uiimage 类别的博客文章here 添加 UIImage 类别后,您可以执行

    [youruiimage resizedImage:CGSizeMake(320, 480) interpolationQuality:kCGInterpolationHigh]
    

    使用它,您可以使用 UIViewContentModeScaleToFill 或 UIViewContentModeScaleAspectFit,结果应该很好 =)

    【讨论】:

      【解决方案3】:

      您可以尝试从self.view.frame.size 获取它,但对于整个屏幕您可以使用[[UIScreen mainScreen] bounds]。希望这会有所帮助。

      【讨论】:

      • 我结合了 Mark 和 user809827 的答案。有效!非常感谢!这就是我所做的: urlImage.contentMode = UIViewContentModeScaleToFill; urlImage.frame = [[UIScreen mainScreen] bounds];
      猜你喜欢
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 2018-06-27
      • 2010-11-20
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 2016-05-26
      相关资源
      最近更新 更多