Cocoa/Cocoa TouchのAPIを理解する小さなプロジェクトとして、私は小さなブラウザで作業してきました。私は、バック/フォワード/リロードボタン、アドレスバー自体、そして接続ボタンがあるところでシンプルなデザインを進めることができました(別のポイントで、キーボードを変更して "Go"定期的なリターンの代わりにボタンブラウザ設定でUITextFieldを使用/変更する際の問題
私の現在の問題は、私の一般的な目的は、ボタンの機能は、次のようになります接続することである:それは、HTTPを持っている場合
-(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のみが理解されています:// 'の前に' google.com 'と入力して[接続]ボタンをタッチするだけで何もしません。これはNSURLクラスの潜在的な問題かUIWebViewのいずれかですが、APIドキュメントは特に役に立ちません回、私は単純にどちらがわかるかわからない。私は自動的にアドレスバーのテキストプロパティの前に 'http://'を追加するのは悪い考えです。代わりに 'https://'が必要な場合があります(一方で、通常のウェブサイトは頻繁に中継します安全なプロトコルに変換しますが、これは必ずしもそうではありません)。
私はまた、アドレスフィールドのアドレスを更新していないという点で、前後のボタンに問題があります。これは、アドレスバーがWebViewに直接結ばれていないため(これはUIWebViewの一部であり、これは私が遭遇していない部分かもしれません)、私はアドレスバーを更新する方法を考え出していない新しいURLを表示します。私は、webViewDidStartLoadのようなものを含むUIWebViewDelegateメソッドがあることを指摘しましたが、これらのことを正しく利用する方法を完全には理解していません。私は[webView isLoading] booleanをテストとして試してみましたが、それに応じてアドレスバーのURLを変更しましたが、キャッシングなどのために役に立たないようです。
私はある事柄について十分に精緻化していない場合、またはこれらの質問がすでにここで回答されている場合、私は容赦します。私はすばやい検索を行い、少しだけオンラインで見てきましたが、何をすべきかに関するアドバイスを見逃すだけでした。私が言ったように、AppleのAPIドキュメントは、非常に深いながら、使用するには少し面倒です。私が何をしようとしているのかについてもう質問があるなら、私はできる限り最善の方法で答えようとします。