0

基本上,我有一个集合视图谁是cell.contentView增加了一个视图控制器在的CollectionView的willDisplayCell观点如下:viewDidLoad中被调用,但viewWillAppear中不叫

-(void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath { 
    UIViewController *vc = [self.viewControllerArray objectAtIndex:indexPath.row]; 
    [self displayContentController:vc inView:cell]; 
} 

- (void)displayContentController:(UIViewController *)viewController inView: (UICollectionViewCell *)cell { 
    [self addChildViewController:viewController]; 
    viewController.view.frame = cell.bounds; 
    [cell.contentView addSubview:viewController.view]; 
    [viewController didMoveToParentViewController:self]; 
} 

现在,这个视图控制器具有的tableView。在tableview的didSelectRowAtIndexpath中,我推送了一个New ViewController。

令人惊讶的是,推送的ViewController的viewDidLoadviewDidLayoutSubviews被调用,但不调用viewWillAppear

我也收到以下警告在控制台Unbalanced calls to begin/end appearance transitions for <viewController Having collection View>

我不知道我做错了什么。

甚至尝试过与cellForRowAtIndexPath但不是运气。

回答

0

需要将ViewController添加到UINavigationController堆栈!

相关问题