旋转后重绘按钮

时间:2012-03-29 15:38:54

标签: objective-c ipad rotation

我在UIView上动态绘制一些按钮。我根据一些数学计算决定帧,我想在设备旋转时重绘屏幕。我注册了旋转通知代码,didRotate:委托方法正常工作。如何在旋转时重新绘制屏幕? 更多解释:如果旋转模式为纵向,我会绘制两列按钮,我想在旋转到横向时绘制四列。按钮数据是动态的,来自我的HTTP服务器(计数)按钮等)

1 个答案:

答案 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)];
}
}