我的问题是如何在iPad设备上呈现我的tableview。尽管在故事板上设置了背景颜色,但在iPad上进行测试时,桌面视图始终具有灰色背景颜色。我搜索了这个网站,发现了很多解决方案:
已经尝试过这个建议
public override void viewDidLoad() {
base.ViewDidLoad();
tableView.backgroundView = new UIView();
tableView.backgroundView.backgroundColor = UIColor.Clear;
}
我甚至试图覆盖tableview类中的GetCell函数,所以我可以通过访问单元格来改变contentView颜色,就像这样
cell.contentView.backgroundColor
但是从不调用GetCell函数。
修改
这是来自其中一个具有静态表格视图的屏幕的示例屏幕
有人能指出我正确的方向吗?
答案 0 :(得分:0)
如果要通过覆盖GetCell来更改背景颜色,您希望在故事板中为自定义单元格指定标识符,并在TableViews TableSource中覆盖GetCell,如下所示。您还可以检查您的tableView源是否已在ViewDidLoad中设置为CustomTableSource:
tableView.Source = new CustomTableSource(this);
除非您使用的是IUITableViewDataSource
,否则请检查您的弱代理和来源是否已设置:
tableView.WeakDelegate = this;
tableView.WeakDataSource = this;
覆盖GetCell:
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
var cell = tableView.DequeueReusableCell("CellIdentifier") as CustomCell;
if (cell == null)
cell = new CustomCell();
cell.BackgroundColor = UIColor.Clear
return cell;
}
您还必须覆盖RowsInSection:
public nint RowsInSection(UITableView tableView, nint section)
{
return 7;
}
答案 1 :(得分:0)
在试图解决这个白色背景问题两天后,我找到了最适合我的解决方案:
要解决此问题,只需在AppDelegate.cs文件的FinishedLaunching
函数中添加此行即可。这定义了应用程序中所有表格单元格的外观(如果您确实希望所有的tableview单元格都具有清晰的背景。)
UITableViewCell.Appearance.BackgroundColor = UIColor.Clear;
现在可以在iPhone和iPad上正确呈现。