我有一个没有相应UIViewController的自定义UIView子类。我在我的应用程序中的各个地方使用此类。当我旋转设备时,我需要重新定位视图。我理解这通常是使用willAnimateRotationToInterfaceOrientation:duration:
方法完成的,但这是UIViewController类的一部分,而不是UIView。我的问题是,有没有办法让我的UIView重新定位自己而不必实现相应的UIViewController?
答案 0 :(得分:1)
应用程序在旋转时会从设备接收通知。您可以告诉设备使用
开始为您生成这些通知[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
然后您可以使用
注册通知[NSNotificationCenter default] addObserver:self selector:@selector(doThisWhenRotates :) name:addObserver:selector:name:object:object:nil];
但是,我不建议这样做。如果你真的想要关注MVC,你应该有一个控制器来处理这种类型的东西。
但是如果你需要,你可以按照上面列出的方式进行。