繁体   English   中英

设备方向更改时,自定义UIView不会旋转

[英]Custom UIView does not rotate when device orientation changes

我创建了一个UIView,它有两个控件,一个标签和一个活动指示器(旋转轮),以便在设备同步时显示。 由于这个UIViewController需要全局访问,我在应用程序的FinishedLaunching事件中添加它:

window.AddSubview(navigationController.View); window.AddSubview(SyncSpinner.View); window.MakeKeyAndVisible();

我重写了shouldAutoRotate事件并返回true以允许使用设备旋转视图。 但是,我无法让这个视图旋转。 我甚至尝试从navigationController的视图shouldAutoRotate事件中调用teh shouldAutoRotate事件,但它仍然不会旋转。

如何创建一个非常简单的视图用作状态对话框,顶部有一个标签,中间是微调器,并且正确旋转?

谢谢。

类似的事情发生在我身上。 我不知道为什么,但iPhone只会将自动旋转消息发送到最新添加的视图的控制器。

绕过它的方法是生成通知并将它们发送到控制器。 在完成的启动方法中使用此代码块:

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver: viewController selector:@selector(changeOrientation:) name:UIDeviceOrientationDidChangeNotification object:nil];

至少在TweetStation上,问题是我需要从第一个UIViewController一直传播rotation属性。 如果顶层UIViewController不支持旋转,嵌套的也不支持。

在TweetStation中,我使用一个帮助顶级类来运行我的顶级tabbar控制器:

http://github.com/migueldeicaza/TweetStation/blob/master/TweetStation/Main.cs#L409

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM