我正在尝试按设备方向通知我的UIViewController
重新应用布局。为此,我将UIDeviceOrientationDidChangeNotification
发布到默认中心。它工作,但没有旋转动画。我觉得我有些遗失的东西。如何正确发布UIDeviceOrientationDidChangeNotification
?
答案 0 :(得分:1)
使用:
[[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeRight animated:YES];
代替(根据需要替换LandscapeRight),因为您不应该发布系统通知。
答案 1 :(得分:1)
它将为您发布活动:
- (void)updateOrientation
{
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
}
但是,当然,当你需要停止旋转时,你应该更整洁,然后打电话给[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]
,然后当你准备再次处理它时你打电话给[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
:它会调用所有必要的视图控制器的回调。
答案 2 :(得分:0)
我不认为当你试图发布时应该有什么。 相反,它会在方向更改时自动发布。如果要使用帽子通知,您应该添加观察者。