我正在编写一个程序来检测设备方向的变化(纵向到横向等)。当设备处于纵向状态时,应显示集合视图并隐藏滚动视图。当设备处于横向模式时,应隐藏集合视图并显示滚动视图。
通过NSLogs,我确认已检测到旋转设备。隐藏属性设置为YES。
我基本上使用两个滚动视图使用相同的代码,但由于性能问题,我切换到使用集合视图,现在它不起作用。任何建议将不胜感激。谢谢!
我在viewDidAppear方法中有这个代码:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(detectOrientation) name:@"UIDeviceOrientationDidChangeNotification" object:nil];
这个代码在detectOrientation方法
中-(void) detectOrientation {
if (([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft) ||
([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight)) {
[myCollectionView setHidden:YES];
myPanoramicScrollView.hidden = NO;
NSLog(@"collectionView.hidden = %hhd", myCollectionView.hidden);
} else if ([[UIDevice currentDevice] orientation] == UIDeviceOrientationPortrait) {
myPanoramicScrollView.hidden = YES;
[myCollectionView setHidden:NO];
NSLog(@"collectionView.hidden = %hhd", myCollectionView.hidden);
}
}