Ответить # 1)
Вместо использования UIWebView вы можете перетащить веб-страницу как объект NSData, используя NSURLConnection. Когда вы получите первоначальный ответ на ваш запрос от
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
веб-сервер должен возвращать значение «ожидаемого размера контента» (которое должно быть включено в ответ). Тогда вы будете продолжать вызывать следующий метод каждый раз, когда получаете данные:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
Продолжайте добавлять данные в существующий объект NSMutableData. Затем вы можете сравнить размер текущего объекта данных (NSMutableData.length) с ожидаемым размером ответа.
percentage = (myData.length*100)/theResponse.expectedContentSize;
Тогда вы можете обновить индикатор выполнения с этим процентом! Когда
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
работает, используйте ваши данные для вызова
[myWebView loadData:myData MIMEType:myMimeType textEncodingName:myEncoding baseURL:baseURL];
и он загрузит все, что вы перетащили в ваш веб-вид.