アプリ内でWebを表示したとき、「戻る(前ページ)」、「進む「次ページ)」を状況に応じて活性(ボタンが押せる)/不活性(ボタンが押せない)にする方法。
1. InterfaceBuilderでView上に「戻る」「進む」ボタン(UIButton)を配置する。
2. ヘッダファイルを定義する。
hoge.h
UIWebView *webView;
IBOutlet UIButton *IBbackButton;
IBOutlet UIButton *IBforwardButton;
@property (nonatomic, retain) IBOutlet UIWebView *webView;
@property (nonatomic, retain) IBOutlet UIButton *IBbackButton;
@property (nonatomic, retain) IBOutlet UIButton *IBforwardButton;
3. 上記1で配置したUIButtonと、上記2で定義したIBOutletをInterfaceBuilderで接続する。
IBOutlet UIButton *IBbackButton → 「戻る」ボタン
IBOutlet UIButton *IBforwardButton → 「進む」ボタン
4. コード部分を編集する。
hoge.m
@synthesize webView;Webアクセスが完了したとき、webViewDidFinishLoadメソッドが呼ばれる。
@synthesize IBbackButton;
@synthesize IBforwardButton;
- (void)webViewDidFinishLoad:(UIWebView*)webView
{
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
//ボタン制御
self.IBbackButton.enabled = webView.canGoBack;
self.IBforwardButton.enabled = webView.canGoForward;
}
このとき、canGoBack,canGoForwardプロパティをIBButtonのenabledプロパティにセットすれば、活性/不活性にできる。
canGoBack,canGoForwardプロパティは、前ページに戻れるか、次ページに進めるかを知ることができる。「戻れる」「進める」場合、プロパティに"YES"がセットされている。
タグ:iPhone
【UIButtonの最新記事】