Я пытался реализовать TableView, где между строками моего исходного кода я хотел бы вставить GADBannerView (рекламные объявления от Google AdMob). В настоящее время у меня есть источник данных, который каждый раз, когда я заканчиваю, добавляю 10 элементов, таких как бесконечный свиток.UITableView и GADBannerView
Мое намерение состояло в том, чтобы вставить элемент GADBannerView каждые 6 строк. Как я могу это сделать?
UPDATE
Как предложило
public override int RowsInSection (UITableView tableview, int section)
{
return (int)Math.Floor (Convert.ToDouble(ViewModel.ListElements.Count/6))+ ViewModel.ListElements.Count;
}
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
{
if(indexPath.Row % 6 == 0 && indexPath.Row > 0){
var cell = tableView.DequeueReusableCell (BannerGATableCell.Key) as BannerGATableCell ?? BannerGATableCell.Create();
_bannerView.LoadRequest (GADRequest.Request);
cell.AddSubview(_bannerView);
return cell;
}
if (indexPath.Row >= 6) {
return base.GetCell (tableView, NSIndexPath.FromRowSection((int)(indexPath.Row - (int)(indexPath.Row/6)),0));
}
return base.GetCell (tableView, indexPath);
}
Как было предложено, я сделал обновление, но эта ячейка переопределяет строку в 6 позиции. –
Что случилось с переопределением? Единственное, что я вижу: вы не должны называть 'base.GetCell()', а скорее создавать свою ячейку. – Krumelur
Извините, я использовал неправильный термин. Я хотел сказать, что таким образом элементы всегда имеют одинаковое число, а BannerCell заменяет DataSource ячейки, а не вставлен между шестым и седьмым –