ポートレートのみのATMをサポートしていますが、デバイスを回転させると次のエラーが発生します。
[__NSCFData setProperRotation]: unrecognized selector sent to instance 0x2dc890
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFData setProperRotation]: unrecognized selector sent to instance 0x2dc890'
これはiOS5.1にあります。最初はデフォルトのportrait句をそのままにしましたが、次のように変更しました。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (interfaceOrientation == UIInterfaceOrientationPortrait) { // Or whatever orientation it will be presented in.
return YES;
}
return NO;
}
私はARCを使用しています。
それがクラッシュを止めるのに役立つことを願っています。私のinfo.plistには、ポートレートとポートレートが逆さまになっています。メインビューに複数のViewControllerがあり、次のように設定されていることを除いて、ストックプラクティスを実行したことは他にありません。
self.wantsFullScreenLayout=YES;
アイデアはありますか?前もって感謝します。
私のプロジェクトは、appdelegateからのメインビューを次のように追加します。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
mainViewController=[[MainViewController alloc] init];
[self.window addSubview:mainViewController.view];
そして、そのmainViewControllerに2つのViewControllerがあり、ナビゲーションコントローラーを使用していくつかのViewControllerをプッシュします。
- (void) loadActionsView {
NSArray* views = [self.navigationController viewControllers];
if ([views containsObject: actionsPanelViewController])
{
[self.navigationController popToViewController:actionsPanelViewController animated:YES];
} else {
[self.navigationController pushViewController:actionsPanelViewController animated:YES];
}
[[StateModel stateModel] setCurrentScreenIndex:0];
}
これは、btwと呼ばれる最初のビューです。
解決策/問題が見つかったアップデート2:
私はSHKの一部であるSHKActivityIndicatorを使用していました。この通知には、問題の原因となっている画面の回転とそのセレクターをキャプチャする通知がありました。
[[NSNotificationCenter defaultCenter] addObserver:currentIndicator selector:@selector(setProperRotation) name:UIDeviceOrientationDidChangeNotification object:nil];