UITableView артефакт при создании в коде - PullRequest
0 голосов
/ 17 октября 2011

Я создаю UITableView в коде, используя следующее:

// no xib
tableView = new UITableView(
new RectangleF(0,0, this.View.Frame.Width, this.View.Frame.Height),
UITableViewStyle.Grouped);
tableView.Delegate = new VideoLibraryTVDelegate();
tableView.DataSource = new VideoLibraryTableViewDataSource(this);
tableView.AutoresizingMask = UIViewAutoresizing.FlexibleWidth |   
                             UIViewAutoresizing.FlexibleHeight;
tableView.BackgroundColor = UIColor.FromPatternImage(this.backgroundImage);
tableView.SeparatorStyle = UITableViewCellSeparatorStyle.SingleLine;

tableView.SizeToFit ();
tableView.Frame = new RectangleF (0, 0, this.View.Frame.Width, this.View.Frame.Height);
        this.View.AddSubview(tableView);

Полученный UITableView имеет визуальный артефакт:

enter image description here

Высота строки выполненас

public override float GetHeightForRow (UITableView tableView, NSIndexPath indexPath)
{
    return tableView.RowHeight * 2.0f;
}

Как избавиться от лишних строк над ячейками таблицы?

Редактировать : Оказывается, проблема в том, что я определил контроллер контейнера длянаследовать от UITableViewController, а не UIViewController.С кодом в исходном вопросе эта проблема не была бы очевидна.

Ответы [ 3 ]

2 голосов
/ 17 октября 2011

Просто умножьте RowHeight таблицы в 2 и не переопределяйте GetHeightForRow (). В вашем случае это постоянное значение, поэтому оно вам не нужно.

tableView.RowHeight *= 2;
1 голос
/ 17 октября 2011

Единственное, что я вижу, это отключение, это вызов [tableView sizeToFit]. Вы обычно не вызываете его в табличном представлении, и я могу только представить, что это влияет на рендеринг данного UITableViewCell. Также MonoTouch.Dialog - это da-bomb-dot-com, есть даже порт obj-C, который называется QuickDialog:

https://github.com/escoz/QuickDialog

Спасибо

Anuj

0 голосов
/ 18 октября 2011

Оказывается, проблема в том, что я определил контроллер контейнера для наследования от UITableViewController, а не UIViewController.С кодом в исходном вопросе эта проблема не была бы очевидна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...