Как я могу установить вставку содержимого в UITableView после возвращения из отдельного потока?
Вот некоторый код, чтобы понять суть того, что я делаю, не стесняйтесь давать предложения и за рамками этого вопроса.
Моя главная цель - свернуть область, в которую войдет веб-представление (область над таблицей, созданной contentInset), если реклама недоступна.
//In View did Load
[NSThread detachNewThreadSelector:@selector(getBannerAdContent) toTarget:self withObject:nil];
-(void)getBannerAdContent
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *html = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://192.168.0.18:83/PhotoGalleryService.svc/LoadBannerAd/"]];
[self performSelectorOnMainThread:@selector(loadBannerAd:) withObject:html waitUntilDone:NO];
[pool release];
}
-(void)loadBannerAd:(NSString*)html
{
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 2, 300, 40)];
[webView loadHTMLString:html baseURL:nil];
webView.delegate = self;
webView.scalesPageToFit = NO;
webView.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin);
[self.view addSubview:webView];
[webView release];
UITableView *myTableView = (UITableView*)[self.view.subviews objectAtIndex:0 ];
//The following line is doing nothing.
myTableView.contentInset = UIEdgeInsetsMake(44,0.0,0,0.0);
}
Любая помощь, которую вы мне можете оказать, будет очень признательна.
EDIT:
Немного более подробного объяснения ...
На мой взгляд, нагрузка у меня зажглась отдельным потоком. Этот поток загружает HTML из службы, которую я настроил, а затем устанавливает ее в веб-представлении. Однако пока я прохожу, прежде чем он доберется до линии
myTableView.contentInset = UIEdgeInsetsMake(44,0.0,0,0.0);
Представление таблицы уже загружено, и тогда приведенная выше строка не имеет никакого эффекта.
Приветствия