当ViewController解析网站时,iAd in UITableView标头重新加载

时间:2015-06-03 16:13:31

标签: ios objective-c uitableview iad

我想在我的uitableview标题中包含一个广告,但是一旦viewcontroller完成解析我们的网页,它就会重新加载并变为空白。我在这个页面中做了很多后台线程工作,专门解析我们的网页并提取大量图像。让viewController静置一分钟后,广告重新出现/重新加载,一切正常。当我滚动并且并非所有单元格都已出现时,广告不断重新加载(或者更确切地说,无法重新加载广告)。我怎么能避免它最初消失?这是我的相关代码:

#!/usr/bin/python
import re, sys
from lxml import etree
from StringIO import StringIO

dtd = etree.DTD (open (sys.argv [1], "r"))
xml = etree.XML (open (sys.argv [2], "r").read ())

result = dtd.validate (xml)
for error in dtd.error_log.filter_from_errors():
    print(error.message)
    print(error.line)
    print(error.column)

if result == True :
    for event, elem in etree.iterwalk (xml, events=('start', 'end')) :
        if event == 'start' :
            print 'starting element:', elem.tag
        elif event == 'end' :
            print 'ending element:', elem.tag
            if elem is not xml :
                print elem.tail

1 个答案:

答案 0 :(得分:2)

目前,每次调用ADBannerView时,您都会创建一个新的tableView:viewForHeaderInSection:实例。只要在屏幕上滚动标题并且每当您调用[self.tableView reloadData];时,都会调用它。相反,只创建一个新的ADBannerView实例,如果还没有

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 65)];
    view.backgroundColor = [UIColor clearColor];

    if (_adBanner == nil)
    {
        _adBanner = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
    }

    //_adBanner.delegate = self;
    _adBanner.backgroundColor = [UIColor clearColor];
    [view addSubview:_adBanner];

    return view;

}