我在UIView上动态绘制一些按钮。我根据一些数学计算决定帧,我想在设备旋转时重绘屏幕。我注册了旋转通知代码,didRotate:
委托方法正常工作。如何在旋转时重新绘制屏幕?
更多解释:如果旋转模式为纵向,我会绘制两列按钮,我想在旋转到横向时绘制四列。按钮数据是动态的,来自我的HTTP服务器(计数)按钮等)
答案 0 :(得分:1)
我建议您使用“willAnimateRotationToInterfaceOrientation”方法,以便在旋转设备时控制视图。 这是一些简单的代码,可以让您了解如何使事情有效:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation duration:(NSTimeInterval)duration {
// if you are in portrait mode
if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
[yourOutletName setFrame:CGRectMake(255, 6, 25, 25)];
}
// if you are in landscape mode
else
{
[yourOutletName setFrame:CGRectMake(415, 6, 25, 25)];
}
}