UIWebView внутри UIView программно - PullRequest
0 голосов
/ 20 мая 2011

У меня есть UITableView, и я хочу добавить UIView в качестве нижнего колонтитула. Это UIView имеет UIWebView и UIButton. У меня есть следующий код:

- (void)viewWillAppear:(BOOL)animated {
CGRect frame = CGRectMake(10, 0, 280, 400);
self.webViewContent = [[UIWebView alloc] initWithFrame:frame];
self.webViewContent.delegate = self;
self.webViewContent.hidden = YES;
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
UIView *viewA = [[UIView alloc] initWithFrame:CGRectMake(webView.bounds.origin.x, webView.bounds.origin.y, webView.bounds.size.width+20, webView.bounds.size.height + firstFrameY)];
viewA.backgroundColor = [UIColor yellowColor];
[viewA addSubview:self.webViewContent];
[viewA addSubview:linkButton];

[self.emailDetailsTableView setTableFooterView:viewA];
}

Вывод: я вижу все, кроме UIWebView. Однако, если я проверю следующий код

- (void)webViewDidFinishLoad:(UIWebView *)webView {
UIView *viewA = [[UIView alloc] initWithFrame:CGRectMake(webView.bounds.origin.x, webView.bounds.origin.y, webView.bounds.size.width+20, webView.bounds.size.height + firstFrameY)];
viewA.backgroundColor = [UIColor yellowColor];
//[viewA addSubview:self.webViewContent];
[viewA addSubview:linkButton];

[self.emailDetailsTableView setTableFooterView:self.webViewContent];
}

Я вижу UIWebView. Обратите внимание, что я прокомментировал строку, где я добавил UIWebView к UIView. Если я раскомментирую строку, я не вижу UIWebView !!!

Есть идеи, что я делаю не так?

Спасибо.

1 Ответ

1 голос
/ 20 мая 2011

Вполне вероятно, что ваш UIWebView уже где-то на экране. В самом деле, если webView не отображается, его HTML не отображается (как при отображении за пределами экрана) и webViewDidFinishLoading никогда не вызывается.

В вашем случае я бы попытался добавить viewA в нижний колонтитул таблицы и сделать кнопку скрытой, если вам нужно показать ее только после загрузки веб-представления.

Если вы не хотите, чтобы webView занимал большое пространство в нижнем колонтитуле во время загрузки, сначала сделайте viewA небольшим. После загрузки HTML измените размер представления (возможно, в соответствии с высотой веб-страницы, если это подходит для вашего приложения).

просто предложение ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...