我希望我的应用在iPhone的方向发生变化时触发操作,无论用户在应用中的位置如何。
我正在使用
if (([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft) ||
([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight)) {
}
检查设备的方向。
我在哪里放置此代码,以便在方向更改时始终运行?
答案 0 :(得分:2)
在您的app delegate中,注册UIDeviceOrientationDidChangeNotification
通知。
然后在通知的选择器中,您可以执行if
检查。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChange) name: UIDeviceOrientationDidChangeNotification object:nil];
// everything else you had in this method
}
- (void)orientationChange {
if (([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft) ||
([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight)) {
}
}
答案 1 :(得分:1)