テキストフィールドへ入力された URL を使い Webページを表示させる。表示のためのボタンを別途用意するのではなく、テキストフィールドで returnキーが押されたらページを表示するようにしよう。
returnキーを処理するためにまず NSTextFieldのサブクラスを用意する。
URLTextField.h
@class WebController;
@interface URLTextField : NSTextField {
IBOutlet WebController* _web_controller;
}
@end
InterfaceBuilder で既に置いてあった NSTextFieldのクラスを URLTextFieldへ置き換える。またアウトレットに WebControllerを接続しておく。
URL入力後に returnキーが押されると- [NSTextField textDidEndEditing:]が呼ばれるので、ここでページ読み込みのメソッドを呼出す。
URLTextField.m
@implementation URLTextField
- (void)textDidEndEditing:(NSNotification *)notification
{
[_web_controller loadPageWithURLString:[self stringValue]];
}@end
ページ呼出しはこんな感じ。まだエラー処理はない。
WebController.m
- (void)loadPageWithURLString:(NSString*)url_string
{
[[_web_view mainFrame] loadRequest:
[NSURLRequest requestWithURL:[NSURL URLWithString:url_string]]];
}
実行しよう。テキストフィールドへ Googleのページを入力し returnキーを押してみる。
出た。