0

下面的代码如下:

  • 检测屏幕的宽度和高度
  • 将屏幕的尺寸设置为UIImageView
  • 将位置设置UIImageView为 0,0

代码(正在运行viewDidLoad):

NSUInteger widthOfScreen = [UIScreen mainScreen].bounds.size.width;
NSUInteger heightOfScreen = [UIScreen mainScreen].bounds.size.height;
self.background.frame = CGRectMake(0, 0, widthOfScreen, heightOfScreen);

这正在 iPhone 6 上的模拟器中进行测试。

运行代码时,调试器会显示屏幕尺寸,并且UIImageView是 337x568,这是正确的(当我实现正确的NSLog语句时)。但是,模拟器显示一个UIImageView不适合屏幕的内容。(太大了)。我怎样才能让它工作?

我认为重要的是要注意显示的图像的原始尺寸UIImageView是 768x1408。

4

3 回答 3

0

找到了答案:

http://triplettwollc.com/2013/02/resizing-a-uiimageview-in-viewdidloadviewdidappear/

根据该网站,似乎您无法UIImageView在 viewDidLoad 中调整 a 的大小。当我以编程方式创建UIImageView

于 2014-12-23T04:29:54.363 回答
0

这可能是因为您的图像太大并且没有剪切到父视图。尝试先裁剪图像以适合 UIImageView。

self.view.clipsToBounds = YES.

您可以从这里参考: 为什么我的 UIView 子视图没有在父视图中呈现?(附代码)

还有一些提示,尝试将 UIImageView 的背景颜色更改为红色或其他东西,以便您可以清楚地看到您的视图将如何平移。

于 2014-12-23T02:34:16.283 回答
0

首先,您应该将代码推送到viewWillLayoutSubviews您的 vc 中。如果问题仍然存在,请检查contentMode您的imageView并确保将其更改为UIViewContentModeScaleToFill或者UIViewContentModeScaleAspectFit如果您的图像太大。

于 2014-12-23T03:17:46.337 回答