将Admob广告添加到UITableView

时间:2015-04-10 14:11:17

标签: ios objective-c uitableview admob ads

这是原始代码。我是iOS开发的初学者,我应该如何修改代码,以便在tableview的底部加载Admob广告?我尝试按照http://jmsliu.com/1207/add-google-admob-in-ios-apps.html中的教程进行操作,但无法使其工作。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [self.prefixArray count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }
    NSDictionary *d = self.prefixArray[indexPath.row];
    cell.textLabel.text = d[kMDTitleKey];
    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    NSDictionary *d = self.prefixArray[indexPath.row];
    NSInteger entryID = [d[kMDIdentifierKey] integerValue];
    self.searchBar.text = d[kMDTitleKey];
    [self.db fetchDefinitionsWithID:entryID callback:^(NSDictionary *response) {
        NSString *HTML = [self.HTMLRenderer renderHTML:response];
        [self.webView loadHTMLString:HTML baseURL:nil];
        [self.searchDisplayController setActive:NO animated:YES];
    }];
}

2 个答案:

答案 0 :(得分:1)

您分享的教程使用UITableView的标题header来展示广告。可能这不是一个好主意,因为您可能需要将这些标题用于您自己的目的。

我知道你想把广告放在屏幕的底部。在这种情况下,最好使用UIView UITableView以下的UITableViewController。在这种情况下,您需要更改UIViewController UITableView才能执行该操作。

如果要添加self.prefixArray底部的添加,您应该将其视为单元格N + 1(N为{{1}}的大小)并更新表格回调以处理特殊情况正确。

答案 1 :(得分:0)

您应该将广告视图添加为tableview的页脚视图。实施

  
      
  • (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
  •   

您将在其中创建广告视图并将其作为页脚视图返回

不要将广告视图放在单元格中,因为它会出列,而且它只是错误的位置。