【发布时间】:2020-05-07 23:57:08
【问题描述】:
我们的 Xamarin iOS 应用程序中有许多表格视图,它们具有重复的故事板代码来呈现表格行单元格。我正在尝试创建一个包含表格行单元格元素的自定义 iOS 视图 (xib),以便可以在我们应用程序中的所有表格视图中重用它。
我遵循了不同的教程并阅读了许多 SO 帖子来设置自定义 iOS 视图,并且所有内容都在构建和运行,但是表格行单元格现在显示为空的白色行,而不是实际呈现 xib 的内容。在自定义视图中的代码中,我能够成功访问元素并填充标签、图像等......但它没有任何区别,它仍然显示为一个空白行:
这是一行应该是什么样子的屏幕截图:
这里是xib文件:
在这里我将文件所有者设置为我的自定义类:
这是我将自定义类引用为表格视图的表格行单元格的情节提要:
这就是我从表格视图源类中实例化表格行单元格的方式:
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath) {
var cell = tableView.DequeueReusableCell (SearchResultUITableViewCell.ReuseKey) as PropertySearchResultRow;
cell.Bind (/* Passes in some data to populate the row */);
return cell;
}
}
最后,这是我的自定义视图类中的 AwakeFromNib 方法:
[Export ("awakeFromNib")]
public override void AwakeFromNib () {
base.AwakeFromNib ();
if (Site != null && Site.DesignMode)
return;
var nibObjects = NSBundle.MainBundle.LoadNib ("PropertySearchResultRow", this, null);
var view = (UIView)Runtime.GetNSObject (nibObjects.ValueAt (0));
view.Frame = Bounds;
view.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
AddSubview (view);
}
我缺少什么步骤才能正确显示自定义视图的内容?
【问题讨论】:
标签: xcode xamarin xamarin.ios interface-builder xib