Ios 使用self.view.frame时,UIImageView initWithFrame的大小不正确

Ios 使用self.view.frame时,UIImageView initWithFrame的大小不正确,ios,objective-c,uiimageview,frame,cgrect,Ios,Objective C,Uiimageview,Frame,Cgrect,我遇到了一个问题,当我以编程方式创建几个UIImageView并给它们主视图的框架时,它们的大小最终只有主视图的一半。我正在3.5英寸视网膜屏幕上的模拟器中构建应用程序。我检查了主视图的框架,它(在景观中)宽480分,高320分,原点位于(0,0)。它应该填充与主视图相同的屏幕部分(下图中为蓝色)。我肯定我错过了一些非常简单的东西,但我就是看不到,四处寻找也没有找到答案 提前感谢你的帮助 有几件事需要考虑: 您确定图像/图像视图内容模式设置正确吗 imageView.contentMode=U

我遇到了一个问题,当我以编程方式创建几个UIImageView并给它们主视图的框架时,它们的大小最终只有主视图的一半。我正在3.5英寸视网膜屏幕上的模拟器中构建应用程序。我检查了主视图的框架,它(在景观中)宽480分,高320分,原点位于(0,0)。它应该填充与主视图相同的屏幕部分(下图中为蓝色)。我肯定我错过了一些非常简单的东西,但我就是看不到,四处寻找也没有找到答案

提前感谢你的帮助


有几件事需要考虑:

  • 您确定图像/图像视图内容模式设置正确吗

    imageView.contentMode=UIViewContentModeScaleAspectFill

  • 是否确定已正确设置自动布局约束/自动调整大小遮罩

  • 你注意到屏幕旋转了吗
如果您发布一些代码示例,这将很有帮助。否则,很难找到问题的确切位置

希望这有帮助

imageView = [[UIImageView alloc] initWithFrame:self.view.bounds];

还可以在情节提要或代码中设置自动调整大小掩码 代码:


如果您使用的是自动布局,请首先查看此链接:您需要为imageView设置contentMode

imageView.contentMode = UIViewContentModeScaleAspectFill;
第二:按视图边界设置imageFrame

imageView.frame = self.view.bounds;

第三:使用自动布局显示相关代码,否则没有人能帮您找到问题。我已将内容模式设置为AspectModeFit。因此,这两种方法都解决了问题。非常感谢您的快速回复!
imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.frame = self.view.bounds;