我有一个应用程序,我想在某些视图中支持设备旋转,但其他视图在横向模式下特别有意义,因此当我交换视图时,我想强制将旋转设置为纵向。
UIDevice 上有一个未记录的属性设置器可以实现这一点,但显然会生成编译器警告,并且可能会随着 SDK 的未来修订而消失。
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
是否有任何记录在案的方法来强制定向?
Update:我想我会提供一个例子,因为我不是在寻找shouldAutorotateToInterfaceOrientation,因为我已经实现了它。
我希望我的应用程序支持视图 1 中的横向和纵向,但仅支持视图 2 中的纵向。我已经为所有视图实现了 shouldAutorotateToInterfaceOrientation,但如果用户在视图 1 中处于横向模式,然后切换到视图 2,我想强制手机旋转回纵向。
这已经是很久之后的事了,但以防万一有人不使用导航控制器和/或不希望使用未记录的方法:
UIViewController *c = [[UIViewController alloc]init];
[self presentModalViewController:c animated:NO];
[self dismissModalViewControllerAnimated:NO];
[c release];
呈现和关闭普通视图控制器就足够了。
显然,您仍然需要在覆盖 shouldAutorotateToInterfaceOrientation 时确认或拒绝方向。但这会导致shouldAutorotate...被系统再次调用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)