Как небольшой проект, чтобы понять API Какао / Какао Touch, я работал над небольшим браузером.Мне удалось создать простой дизайн, в котором есть кнопки «назад», «вперед» / «перезагрузить», сама адресная строка и кнопка подключения (в другой момент я должен выяснить, как изменить клавиатуру для перехода в режим «Перейти»).кнопка вместо обычного возврата.
Моя текущая проблема заключается в том, что функция моей кнопки подключения общего назначения выглядит следующим образом:
-(IBAction)connect:(id)sender
{
NSURL *url = [NSURL URLWithString:address.text]; //address is the address bar
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[webView loadRequest:request];
[address resignFirstResponder]; //kill the address entry keyboard
}
Однако, по какой-то причине, URL понимается только в том случае, еслиперед ним стоит «* 1006. *. Просто ввести« google.com »и нажать кнопку« Подключить »ничего не дает. Я полагаю, что это либо скрытая проблема с классом NSURL или UIWebView, но документация по API не особовремя от времени полезно, и я просто не могу понять, какие именно. Мне кажется, что автоматическое добавление 'http://' в начало свойства текста адресной строки может быть плохой идеей, в случае, если вместо этого понадобится' https://' (хотя нас другой стороны, обычный веб-сайт часто использует безопасный протокол, но это не всегда так).
Я тожеo проблемы с кнопками «назад» и «вперед» в том, что они не обновляют адрес поля адреса.Это понятно, поскольку адресная строка не связана напрямую с WebView (возможно, есть часть UIWebView, которая делает это, с чем я не сталкивался?), И я не нашел способ обновить адресную строкуотобразить новый URL.Я отметил, что существуют методы UIWebViewDelegate, которые включают такие вещи, как webViewDidStartLoad , но я не полностью осознаю, как правильно использовать эти вещи.Я попытался использовать логическое значение [webView isLoading] в качестве теста, а затем соответствующим образом изменить URL-адрес адресной строки, но, похоже, это работает безрезультатно, возможно, из-за кэширования или чего-то подобного.
Прошу прощения, если я не разработал некоторые вещи достаточно хорошо или если на эти вопросы уже дан ответ;Я сделал быстрый поиск и немного осмотрелся в Интернете, чтобы не найти какой-либо совет относительно того, что делать.Как я уже сказал, документация по API Apple, хотя и очень глубокая, иногда неудобна в использовании.Если у вас есть еще вопросы относительно того, к чему я стремлюсь, я обязательно постараюсь ответить как можно лучше.