我支持肖像只有ATM,我旋轉設備時收到這些錯誤:的iOS旋轉手機死機
[__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。最初,我剛剛將默認肖像條款留在,但將其更改爲:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (interfaceOrientation == UIInterfaceOrientationPortrait) { // Or whatever orientation it will be presented in.
return YES;
}
return NO;
}
我正在使用ARC btw。
希望能夠幫助制止崩潰。我的info.plist有縱向和縱向顛倒。沒有什麼別的我都這就是股票的做法做了,除了我的主視圖有多個ViewControllers其設置爲:
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個ViewControllers和我使用的是導航控制器推幾個ViewControllers這樣:
- (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解決方案/發現問題:
我用的是新鴻基的SHKActivityIndicator,這不得不說是捕捉屏幕旋轉和選擇,其中引起問題的通知的一部分:
[[NSNotificationCenter defaultCenter] addObserver:currentIndicator selector:@selector(setProperRotation) name:UIDeviceOrientationDidChangeNotification object:nil];
使用CTRL + Shift + F搜索'setProperRotation',或者甚至只搜索「properRotation」 。或者它可能是一些內部的NSData jankiness,NSCFData畢竟是中介。 – CodaFi