Проблемы с iPhone Admob UITableView - PullRequest
0 голосов
/ 14 декабря 2010

Я уверен, что это простое исправление, но я не могу его найти.У меня есть табличное представление, которое в настоящее время работает очень хорошо, настроенное как:

static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}


NSUInteger row = [indexPath row];
cell.textLabel.text = [creedsList objectAtIndex:row];
cell.imageView.image = [UIImage imageNamed:[creedsImages objectAtIndex:row]];

return cell;

Admob SDK говорит добавить эту строку:

[cell.contentView addSubview:[AdMobView requestAdWithDelegate:self]];

Но тогда он наполняет КАЖДУЮ ячейку рекламой,Есть мысли?

РЕДАКТИРОВАТЬ: я использую этот код для заполнения:

NSUInteger row = [indexPath row];
cell.textLabel.text = [creedsList objectAtIndex:row];

1 Ответ

0 голосов
/ 14 декабря 2010

Вы хотите сделать это только в тех отдельных строках, в которых вы хотите показывать рекламу.

Так что, если вы хотите появиться только в первом ряду, вы можете сделать что-то вроде

static int adTag = 999; // Used for identifying whether cell already contains ad
UIView * adView = [cell.contentView viewWithTag:adTag];

if(row == 0 && !adView)
{   
    adView = [AdMobView requestAdWithDelegate:self];
    adView.tag = adTag;
    [cell.contentView addSubview:adView];    
}
else if(row != 0 && adView)
{
    // Must remove since cells are reused.
    [adView removeFromSuperview];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...