我有一个UIView,我希望在视图旋转时改变它的大小和位置。但是,我需要能够以编程方式完成这项工作,而不是使用布局设置和自动调整大小。为此,我尝试在设备旋转时更改视图的框架和边界,并要求重新绘制,但无论使用何种变量组合,结果总是错误的。我实在搞不清楚是什么把代码搞砸了,而且这里的代码太多了。有人能给我一些提示或方法来实现这一点吗?我只是不知道还能去哪里找。
这是我用于人像布局的代码,它可以工作:
clusterMap.frame = CGRectMake(0, self.view.frame.size.height/2,
self.view.frame.size.width,
self.view.frame.size.height/2);
clusterMap.bounds = CGRectMake(-clusterMap.frame.size.width/2,
-clusterMap.frame.size.height/2,
clusterMap.frame.size.width,
clusterMap.frame.size.height);
[clusterMap setNeedsDisplay];
但是,当我尝试使用这个代码的一个改编版本与不同的数字,它只是显示,好像屏幕是肖像。如果我把人物换过来,有的是肖像,有的是风景,各种奇怪的事情就会发生。我可以描述的一个例子是,图像可能以适当的比例绘制,但被剪裁到不正确比例的边界。我尝试了我能想到的每一种图形组合,系统地在成对的值之间一次交换一个宽度和高度,但这些组合都不起作用。