我刚进入ios swift,现在正试图在listview和更大的listview之间切换。
我现在拥有的是正常的列表视图。我想要做的是创建一个按钮,在列表视图和"更大的"之间切换。 listview例如在Instagram中的每个列表项中都有更大的图像。
这是通过创建两个单独的viewcontrollers来完成的吗?
答案 0 :(得分:0)
你的问题根本不清楚。 显然可以使用两个ViewControllers执行创建 一个Segue将选中的Object传递给下一个视图。 或者,如果您使用的是ScrollView,则可以使用现有的缩放方法(zoomToRect)。
答案 1 :(得分:0)
我做的工作是在主集合视图类中有2个UIButton连接2个func,如下所述
// Use to define whether displaying grid view or block view
// useful when you use nib files for cells (see the 3rd code example)
// true by default
var isGridView = true
loadGridView () {
isGridView = true
collectionView?.performBatchUpdates({
// load or setup for gridlayout
}, completion: nil)
collectionView?.reloadData()
}
和
loadBlockView () {
isGridView = false
collectionView?.performBatchUpdates({
// load or setup for blocklayout
}, completion: nil)
collectionView?.reloadData()
}
例如,您可以访问this article for more information
!!!如果您正在使用nib作为单元格,则需要注册所有nib并且其类也要注意
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
var cell:UICollectionViewCell
if(isGridView) {
let gridCell = collectionView.dequeueReusableCellWithReuseIdentifier(cellId, forIndexPath: indexPath) as! CustomGridViewCellClass
// some setup
cell = gridCell
} else {
let blockCell = collectionView.dequeueReusableCellWithReuseIdentifier(cellId, forIndexPath: indexPath) as! CustomBlockViewCellClass
// some setup
cell = blockCell
}
return cell
}