以下代码如下:
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。
答案 0 :(得分:0)
可能是因为您的图片太大而且没有剪裁到父视图。尝试先剪裁图像以适合UIImageView。
self.view.clipsToBounds = YES.
您可以从这里参考: why is my UIView subview not rendering within the parent? (code attached)
还有一些提示,尝试将UIImageView的背景颜色更改为红色或其他某些内容,以便您可以清楚地了解视图的显示效果。
答案 1 :(得分:0)
首先,您应该将代码推送到vc的viewWillLayoutSubviews
内。如果问题仍然存在,请检查contentMode
的{{1}},如果图片太大,请务必将其更改为imageView
或UIViewContentModeScaleToFill
。
答案 2 :(得分:0)
找到答案:
http://tripletwollc.com/2013/02/resizing-a-uiimageview-in-viewdidloadviewdidappear/
根据该网站,您似乎无法在viewDidLoad中调整UIImageView
的大小。当我以编程方式创建UIImageView