不能做这么简单的任务是非常令人沮丧的:我有一个带有单个viewcontroller的“app”,并且在其中有一个UIImageView,它在potrtait模式下被初始化为特定的图像。
现在当iPhone被置于横向模式并触发shouldAutorotateToInterfaceOrientation事件时,我返回YES,我生成的UIImageView看起来完全搞砸了:图像被拉伸以便填充横向模式框架(当然看起来很荒谬)或者图像的顶部和底部被裁剪。
如何让我的UIImageview和包含的图像优雅地处理设备旋转,并在横向模式下显示正常的图像?
答案 0 :(得分:2)
将图片视图的父级UIView
autoresizesSubviews
设置为YES
。
同时将图片视图的autoresizingMask
设置为UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight
答案 1 :(得分:0)
您还想查看UIImageView的contentMode。 aspectFill和aspectFit的行为完全不同。
答案 2 :(得分:0)
您始终可以将UIView子类化并覆盖layoutSubviews
方法以手动布局子视图。向景观的过渡仍然是动画的,您可以使用子视图执行任何操作。