我想制作一个包含2种样式的集合:Grid和List。
所以,此刻,我有:
我必须使用相同的数据源。我可以在布局之间切换,这不是问题。
但我的 DataSource 中的 GetCell 方法只返回1个原型的单元格。因此,当我切换时,处置单元格会改变而不是其内容。
GetCellMethod:
public override UICollectionViewCell GetCell(UICollectionView collectionView, NSIndexPath indexPath)
{
Transaction transaction = Transactions[indexPath.Row];
var cell = (TransactionCellList)collectionView.DequeueReusableCell("transactionList", indexPath);
cell.UpdateRow(transaction);
return cell;
}
如何使用切换按钮网格/列表
在这两个原型单元格之间做出改变非常感谢你的帮助!!!
PS:图片显示在堆叠帖子上:Display items in different styles(List, Grid, Blocks) in Xamarin ios?
答案 0 :(得分:0)
您可以使用UIButton的.isSelected属性在单元格之间切换
public override UICollectionViewCell GetCell(UICollectionView collectionView, NSIndexPath indexPath)
{
Transaction transaction = Transactions[indexPath.Row];
if switch.isSelected {
var cell = (TransactionCellList)collectionView.DequeueReusableCell("transactionList", indexPath);
cell.UpdateRow(transaction);
return cell;
}
else{
var cell = (TransactionCellList)collectionView.DequeueReusableCell("transactionGrid", indexPath);
cell.UpdateRow(transaction);
return cell;
}
}
您可以使用切换按钮的IBAction
Šwitch.isSelected. = !switch.isSelected