解雇模态横向视图控制器后,收集视图内容偏移错误(iOS 8)

时间:2015-05-15 17:13:58

标签: ios objective-c uicollectionview

我有一个应用程序,允许四个可能的方向。应用的rootViewControllerUITabBarController子类,只允许纵向:

- (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上运行良好。

可能会发生什么?

0 个答案:

没有答案