【发布时间】:2014-04-17 19:48:14
【问题描述】:
我昨天发布了这个问题:https://stackoverflow.com/questions/23119494/what-is-the-best-way-to-dynamically-change-the-style-of-a-uicollectionview,收到了 0 条回复。
我决定尝试一下。我要做的是在单击 UISegmentedControl 时将网格样式默认集合视图显示更改为单个文件显示。
默认网格样式:
点击按钮左段后显示单个项目视图:
我有一个方法准备好响应每个段的点击。我现在在点击段控件时隐藏 collectionView 并在再次点击时取消隐藏它。:
- (void)displayTypeSegmentSelected
{
_selectedDisplayTypeIndex = [_displayTypeControl selectedSegmentIndex];
if (_selectedDisplayTypeIndex == 0) {
NSLog(@"Single file item view selected");
[_collectionView setHidden:YES];
} else {
NSLog(@"Grid style view selected");
[_collectionView setHidden:NO];
}
}
这可以完美地显示和隐藏我的默认 collectionView,并且此控制器其余部分的功能不受影响。
可能的解决方案:
现在我想知道是否有办法使用单个文件设计创建另一个collectionView,并在默认collectionView 隐藏时显示它。它将使用完全相同的数据源并插入到控制器中并正常工作。
视图界面生成器可以这样做吗?如果是这样,我该怎么做?
这可以通过编程方式完成吗?如果是这样,我该怎么做?
我想知道我是否应该在最初创建两个 collectionViews 而不是在开始时创建默认值,并且仅在单击 segmentControl 时才创建单个文件。
希望有一些例子或清晰的解释。整天都在研究如何做到这一点。
问候
【问题讨论】:
-
你实施成功了吗?嗨,我可以得到任何示例实现:Github 将适用于像我这样的新初学者:(
标签: ios objective-c cocoa-touch uicollectionview uicollectionviewcell