gpt4 book ai didi

c# - Xamarin Forms - 如何创建自定义渲染以为 TableSection 提供默认的 iOS 页脚?

转载 作者:行者123 更新时间:2023-11-29 00:25:58 24 4
gpt4 key购买 nike

我想将默认的 iOS 页脚添加到 Xamarin Forms 表格 View 中的表格部分。我该怎么做呢?我假设是一个客户渲染器,但我只是读到这可以为 Tableview 完成?

为了展示一个示例,下图来 self 在静态单元格上输入页脚文本时的 Xcode Storyboard。

Tablesection footer view shown here

最佳答案

自定义渲染器是正确的,但您必须为整个 TableView 使用自定义渲染器。从那里,您将需要覆盖 TableViewModelRenderer,然后覆盖 ModelRenderer 中的 GetViewForFooter 方法。以下内容可能有助于您入门:

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";
}

关于c# - Xamarin Forms - 如何创建自定义渲染以为 TableSection 提供默认的 iOS 页脚?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43036165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com