首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何切换UITableView和UICollectionView

问如何切换UITableView和UICollectionView
EN

Stack Overflow用户
提问于 2013-01-03 20:54:28
回答 2查看 9.4K关注 0票数 11

我有一个项目,它有一个按钮,允许用户在列表视图(UITableView)和网格视图(UICollectionView)之间切换,但我不知道怎么做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-03 21:10:05

假设您的控制器有一个名为tableView的UITableView属性和一个名为collectionView的UICollectionView属性。在viewDidLoad中,您需要添加起始视图。让我们假设它是表格视图:

代码语言:javascript
复制
- (void)viewDidLoad
{
    self.tableView.frame = self.view.bounds;
    [self.view addSubview:self.tableView];
}

然后在你的按钮回调中,换出视图:

代码语言:javascript
复制
- (void)buttonTapped:(id)sender
{
     UIView *fromView, *toView;

     if (self.tableView.superview == self.view)
     {
         fromView = self.tableView;
         toView = self.collectionView;
     }
     else
     {
         fromView = self.collectionView;
         toView = self.tableView;
     }

     [fromView removeFromSuperview];

     toView.frame = self.view.bounds;
     [self.view addSubview:toView];
}

如果你想要花哨的动画,你可以改用+[UIView transitionFromView:toView:duration:options:completion:]:

代码语言:javascript
复制
- (void)buttonTapped:(id)sender
{
     UIView *fromView, *toView;

     if (self.tableView.superview == self.view)
     {
         fromView = self.tableView;
         toView = self.collectionView;
     }
     else
     {
         fromView = self.collectionView;
         toView = self.tableView;
     }

     toView.frame = self.view.bounds;
     [UIView transitionFromView:fromView
                         toView:toView
                       duration:0.25
                        options:UIViewAnimationTransitionFlipFromRight
                     completion:nil];
}
票数 19
EN

Stack Overflow用户

发布于 2017-02-14 20:37:27

处理这个问题的另一种方法是使用单个UICollectionView,您可以根据所需的模式切换UICollectionViewFlowLayout实现。

为了从UITableView转换到UICollectionView,有很多在线教程,例如this。

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

https://stackoverflow.com/questions/14139371

复制
相关文章

相似问题

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