我有兴趣在动态变化的表格的末尾添加一个按钮。该表在按钮单击时添加了单元格,但我希望该按钮仅在表格底部滚动到时才可见。我很想知道是否有任何关于如何解决这个问题的想法。
答案 0 :(得分:2)
如何使用UIView
制作UIButton
并将其放入FooterView
?
tableView.TableFooterView = MyView;
其他解决方案是在数据单元格后添加带有按钮的UITableViewCell
。这应该由UITableViewSource
完成。将最后一个单元格的所有逻辑移动到抽象类是很好的,它将处理最后一个单元格功能。
创建自己的抽象 UITableViewSource
(将其命名为UITableViewSourceWithFooter
)的子类,其中包含:
UITableViewCell
带按钮; bool IsLastCellIndexPath(NSIndexPath ip)
,如果last cell
参数可见NSIndexPath
,则返回true。代码: protected bool IsLastCellIndexPath(NSIndexPath ip)
{
return ip.Row == GetRecordsCount();
}
GetRecordsCount()
,RowsInSection
方法。 Sealed
以避免覆盖子类。他们将实施GetRecordsCount()
方法: public sealed override int RowsInSection (UITableView tableview, int section)
{
return GetRecordsCount() + 1;
}
然后实现并使用UITableViewSourceWithFooter
的子类:
GetCell
中制定一些逻辑: if (base.IsLastCellIndexPath(indexPath) {
return base.cell_with_button;
} else {
return data_cell;
}
GetRecordsCount()
。简单来说,就像: List<item_class> items;
...
protected override GetRecordsCount()
{
return items.Count;
}