谁能举例说明如何将单点触控应用程序的视图从纵向旋转到横向,反之亦然?
3 回答
如果您在 Interface Builder 中设置 ui 元素的几何形状,请确保在 Size Inspector (Cmd+3) 中设置Autosizing属性。然后,您可以通过单击 Interface Builder 中视图标题栏左上角的小“旋转”按钮来查看旋转后视图的外观。
完成所有设置后,只需在 ViewController 中覆盖以下方法:
public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
{
return true;
}
现在在模拟器中,您可以随意旋转,您的 UI 将自动适应。
众所周知,它现在位于视图 Transform 对象上:
View.Transform.Rotate(3.14159f * 0.5f);
对于所有像我这样不想使用任何 CGAffineTransform 的 dotnet 人,认为它会破坏其他东西,试试吧。非常适合我的实例。旋转 NavigationController.View,里面的一切都很完美。
这是你可以尝试的。
如果您想在触摸视图时更改视图的方向,请按照以下步骤操作
在视图中实现 touchesBegan 方法。
在 touchesBegan 方法中检查当前设备方向,
[[UIDevice currentDevice] orientation];
如果要更改方向,请在视图上使用 CGAffineTransformation 方法
viewRef.transform = CGAffineTransformMakeRotation(angle);