私はいくつかのビューを表示するiPhoneアプリを開発していますが、すべてタブバーアイテムを介してアクセスされます。ただし、SafariでURLを起動するだけのアイテムをタブバーに追加する必要があります。
これを実現するには、TabBarに空のプレースホルダービューを追加し、このビューのtabBarItemがクリックされたときにshouldSelectViewControllerからFALSEを返し、同時にSafariを起動します。
そのコードは次のとおりです。
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if([[viewController tabBarItem] title] == "Website"){
//... launch Safari
return FALSE;
} else {
return TRUE;
}
}
問題:TabBarの項目が多すぎて、この[Safari起動]タブが[その他]ナビゲーションコントローラーにプッシュされると、イベントをインターセプトして、クリックしたときにビューが読み込まれないようにする機能が失われます。
提案されたヒントはありますか?