- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在处理一个包含两个部分的表格 View 。我想在第二部分标题中添加一个 headerView。
我已经实现了以下代码。它调用 TitleForHeader
但不幸的是 GetHeightForHeader
和 GetViewForHeader
都没有被调用。有人知道吗?
public override string TitleForHeader (UITableView tableView, nint section)
{
if (section == 0)
{
return "Details";
}
if (section == 1)
{
return "Settings";
}
return "";
}
public override nfloat GetHeightForHeader(UITableView tableView, nint section)
{
if (section == 0)
{
return 0.0001f;
}
if (section == 1)
{
return 100.0f;
}
return UITableView.AutomaticDimension;
}
public override UIView GetViewForHeader(UITableView tableView, nint section)
{
if (section == 1) {
UIView headerView = new UIView (new CGRect (0, 0, (float)tableView.Bounds.Width, (float)tableView.SectionHeaderHeight));
headerView.BackgroundColor = UIColor.Black;
return headerView;
}
else {
return null;
}
}
最佳答案
我遇到了同样的问题,只是意识到我正在像这样设置委托(delegate)和源:
Table.Delegate = new TableDelegate(this); //remove this bit
Table.Source = new TableSource<string>(list, Table);
我意识到我应该只使用 UITableViewSource 而不是同时设置两者。
UITableViewSource
replaces the following two classes, which are still available in Xamarin.iOS but are not normally required:
UITableViewDataSource
– An Objective-C protocol that is modeled in Xamarin.iOS as an abstract class. Must be subclassed to provide a table with a view for each cell, as well as information about headers, footers and the number of rows and sections in the table.
UITableViewDelegate
– An Objective-C protocol that is modeled in Xamarin.iOS as a class. Handles selection, editing features and other optional table features.
我刚刚将我的 rowselected 方法移动到我的 TableSource
中,它现在调用 TitleForHeader
和 GetViewForHeader
方法(它们不是相互排斥的)并且仅设置源无委托(delegate)。
关于ios - 未调用 GetHeightForHeader 和 GetViewForHeader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34665313/
所以我有一个 GetViewForHeader 覆盖,它在模拟器中运行良好。当我在设备(iPad 和 iPhone)上调试应用程序时,没有应用任何样式。没有错误,而且 GetViewForHeader
我正在处理一个包含两个部分的表格 View 。我想在第二部分标题中添加一个 headerView。 我已经实现了以下代码。它调用 TitleForHeader 但不幸的是 GetHeightForHe
我记得在 MonoTouch 中有必要(现在仍然是?)保留对 UITableViewSource.GetCell() 返回的 UITableViewCells 的显式引用,以避免收集托管单元格.关于这
我是一名优秀的程序员,十分优秀!