所以我有一个GetViewForHeader覆盖,它在模拟器中运行良好。当我在设备(iPad和iPhone)上调试应用程序时,不会应用任何样式。没有错误,GetViewForHeader代码肯定没有运行。 TitleForHeader等是你的。奇!
public override string TitleForHeader (UITableView tableView, int section)
{
return tableItems[section].Name;
}
public override UIView GetViewForHeader(UITableView tableView, int section)
{
// THIS DOES NOT FIRE ON THE DEVICE - BUT IT DOES ON THE SIMULATOR
return BuildSectionHeaderView(tableItems[section].Name);
}
public static UIView BuildSectionHeaderView(string caption) {
UIView view = new UIView(new System.Drawing.RectangleF(0,0,320,20));
view.BackgroundColor = UIColor.White;
UILabel label = new UILabel();
label.Opaque = false;
label.TextColor = UIColor.FromRGB (190, 0, 0);
label.Font = UIFont.FromName("Helvetica-Bold", 16f);
label.Frame = new System.Drawing.RectangleF(5,10,315,20);
label.Text = caption;
view.AddSubview(label);
return view;
}
答案 0 :(得分:1)
仅在GetViewForHeader
返回非零整数时调用GetHeightForHeader
方法,因此请确保您实现GetHeightForHeader
方法并返回适当的高度。
还值得注意的是,如果使用标题视图,则不应实现TitleForHeader
方法。