Xamarin窗体 – 如何创build自定义渲染给TableSection默认的iOS页脚?

我想将默认的iOS脚本添加到Xamarin Forms中tableview中的table部分。 我怎么能这样做? 我假设一个客户渲染器,但我只是阅读,这可以做Tableview?

为了显示一个例子,当我在静态单元格中input页脚文本时,以下图像来自Xcode storyboard。

此处显示的Tablesection页脚视图

自定义渲染器是正确的,但您将不得不为整个TableView使用自定义渲染器。 从那里,你将需要重写TableViewModelRenderer ,然后重写该ModelRenderer方法。 以下是可能帮助您开始的事情:

 public class FooterTableViewRenderer : TableViewRenderer { protected override void OnElementChanged(ElementChangedEventArgs<TableView> e) { base.OnElementChanged(e); if (Control == null) return; var tableView = Control as UITableView; var formsTableView = Element as TableView; tableView.WeakDelegate = new CustomFooterTableViewModelRenderer (formsTableView); } private class CustomFooterTableViewModelRenderer : TableViewModelRenderer { public CustomFooterTableViewModelRenderer(TableView model) : base(model) { } public override UIView GetViewForFooter(UITableView tableView, nint section) { return new UILabel() { Text = TitleForFooter(tableView, section), // or use some other text here TextAlignment = UITextAlignment.Center }; } } } 

正如我在下面的评论中提到的,你可以替代你的TableViewModelRenderer其他方法:

  public override nfloat GetHeightForFooter(UITableView tableView, nint section) { return 10; } public override string TitleForFooter(UITableView tableView, nint section) { return "This is the title for this given section"; }