So i have a GetViewForHeader override and it works great in the simulator. When I debug the app on the device (both iPad and iPhone) no styling is applied. There is no error and the GetViewForHeader code is definitely NOT being run. TitleForHeader etc is tho. Odd!
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;
}
The GetViewForHeader
method is only called if GetHeightForHeader
returns a non-zero integer, so ensure you are implementing the GetHeightForHeader
method and returning an appropriate height.
It's also worth noting that the TitleForHeader
method should not be implemented if using header views.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.