Я написал некоторый код MonoTouch для отображения UITableView без Nib'а, и представление выглядит хорошо заполненным данными ячейки на начальном экране. Однако, когда я касаюсь прокрутки вниз, чтобы просмотреть больше данных, я получаю двойную сетку, состоящую из статических горизонтальных линий-разделителей ячеек, которые не перемещаются с действием прокрутки, плюс другой набор или горизонтальные линии-разделители ячеек, которые правильно расположены и которые перемещаются с действие прокрутки вниз.
После прокрутки вверх до верхней части табличного представления статические и динамические горизонтали идеально синхронизируются, и экран выглядит нормально. Дальнейшая прокрутка воссоздает проблему.
Я использую объекты UITableViewCell по умолчанию для заполнения строк таблицы.
Возможно, мне не удалось настроить то, что обычно делает Interface Builder. Есть идеи? Надеемся, что ребята из Objective-C смогут интерпретировать код .Net.
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
_tableView = new UITableView()
{
Source = new TableSource(),
AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth,
BackgroundColor = UIColor.White
};
_tableView.SizeToFit();
_tableView.Frame = new RectangleF ( 0, 0, this.View.Frame.Width, this.View.Frame.Height );
this.View.AddSubview( _tableView );
Обновление 1: я был обеспокоен тем, что дополнительный набор горизонтальных линий-разделителей ячеек просочился из предыдущего представления в стеке контроллера навигации. Поэтому я переупорядочил приложение, чтобы сделать проблемную таблицу первым представлением, отображаемым при запуске приложения, но проблема осталась.
Обновление 2: добавлено
tableView.SeparatorStyle = UITableViewCellSeparatorStyle.None;
Это позволяет избежать двойного набора горизонтальных линий, но у меня все еще остаются статические горизонтали, которые пересекают середину ячеек при прокрутке табличного представления.
Обновление 3. Имеет смутную теорию, это связано с несоответствием конфигурации высоты ячейки или проблемой с заливкой фона, поэтому горизонтальные линии могут представлять неокрашенные пиксели в табличном представлении. Я не уверен, как проверить эту теорию?