如何隐藏UICollectionView?

时间:2014-02-17 00:05:03

标签: ios objective-c uicollectionview

我正在编写一个程序来检测设备方向的变化(纵向到横向等)。当设备处于纵向状态时,应显示集合视图并隐藏滚动视图。当设备处于横向模式时,应隐藏集合视图并显示滚动视图。

通过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);
}

}

0 个答案:

没有答案