В нашем приложении Xamarin iOS есть несколько табличных представлений, которые дублировали код раскадровки для рендеринга ячеек строк таблицы. Я пытаюсь создать собственное представление iOS (xib), которое содержит элементы ячеек строки таблицы, чтобы его можно было повторно использовать во всех представлениях таблицы в нашем приложении.
Я следовал различным учебным пособиям, а также прочитал много SO-сообщений, чтобы настроить собственное представление iOS, и у меня все построено и работает, однако ячейки строк таблицы теперь отображаются в виде пустых белых строк вместо фактического рендеринга содержание сиб. В коде в пользовательском представлении я могу успешно получить доступ к элементам и заполнить метки, изображения и т. Д. c ... но это не имеет никакого значения, оно все равно отображается в виде пустой белой строки:
Вот скриншот того, как должна выглядеть строка:
Вот файл 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);
}
Какой шаг мне не хватает, чтобы получить правильное отображение содержимого пользовательского представления?