我有一个应用程序,允许四个可能的方向。应用的rootViewController
是UITabBarController
子类,只允许纵向:
- (NSUInteger)supportedInterfaceOrientations {
returnUIInterfaceOrientationMaskPortrait;
}
在其中一个标签上,我有一个带有集合视图的视图控制器。从那里我可以呈现一个模态视图控制器,允许纵向和横向方向。
当用户关闭此模态视图控制器时,我必须将集合视图滚动到特定的indexPath
。我使用以下代码在呈现视图控制器中执行此操作:
- (void)userDidCloseArtworkZoomWithOffset:(NSInteger)offset {
NSIndexPath *newIndexPath = [NSIndexPath indexPathForItem:self.artworkZoomInitialIndexPath.item + offset inSection:0];
self.artworkZoomInitialIndexPath = nil;
[self.collection scrollToItemAtIndexPath:newIndexPath atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:NO];
[self dismissViewControllerAnimated:YES completion:nil];
}
当我以纵向关闭模态视图控制器时,一切正常。但是当模态视图控制器处于横向时,滚动效果不佳,并且不会显示它应该显示的单元格。
集合视图使用flowLayout。
这只发生在iOS 8上。在iOS 7上运行良好。
可能会发生什么?