首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从非ViewController类启动ViewController?

如何从非ViewController类启动ViewController?
EN

Stack Overflow用户
提问于 2014-07-10 08:47:34
回答 7查看 254关注 0票数 0

标题说明了一切,我通常像这样打开ViewControllers

代码语言:javascript
复制
ListingViewController *listingView = [[ListingViewController alloc]init];
[self.navigationController pushViewController:listingView animated:YES];

但是在这个特殊的类上,这是一个定制的UICollectionView单元,我想根据单击的单元来启动一个新的控制器。我怎么能这么做?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-07-10 08:57:49

通常的方法是在包含UICollectionViewDelegate的视图控制器中实现UICollectionView方法UICollectionView。然后,您可以以正常的方式呈现新的视图控制器。

例如:

代码语言:javascript
复制
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
    [collectionView deselectItemAtIndexPath:indexPath animated:YES];

    MyModel * model = self.listItems[indexPath.row]; //retrieve the object that is displayed by the cell at the selected index

    MyViewerViewController * vc = [[MyViewerViewController alloc] initWithMyModel:model];
    [self.navigationController pushViewController:vc animated:YES];

}
票数 1
EN

Stack Overflow用户

发布于 2014-07-10 08:53:05

您希望将详细信息视图添加到单元格中,在添加详细视图.Hopefully上尝试此链接,这将有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2014-07-10 09:06:35

使用UICollectionViewDelegate方法didSelectItemAtIndexPath进行此操作,并确保实现UICollectionView的视图控制器类中存在此委托方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24672121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档