2011-10-18 6 views
0

私は6つのタブを持つタブバーコントローラを持っています。 6番目のタブ私は単にアクション(このアプリのような)を行い、新しいビューに移動しないことを望みます。iphone uitabbarメニューの表示ではなく、表示

タブバー要素にはビューオブジェクトが必要です。このため、これを回避してアクションを実行するセレクタを直接呼び出すことはできます。

編集: ここでは、6番目のタブから呼び出して、現在のビューに残ります。

-(void)action_rateThisApp:(id)sender { 

NSString *str = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa"; 
str = [NSString stringWithFormat:@"%@/wa/viewContentsUserReviews?", str]; 
str = [NSString stringWithFormat:@"%@type=Purple+Software&id=", str]; 

// Here is the app id from itunesconnect 
// http://itunes.apple.com/us/app/cricbuzz-cricket-scores-news/id360466413?mt=8 
str = [NSString stringWithFormat:@"%@360466413", str]; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]; 
} 

答えて

0

あなたは、タブバーの項目touchを傍受するデリゲート機能

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController 

を実装することができます。そこから、あなたは何でもできます。あなたはあなたのアプリケーションを評価し、あなたのメインウインドウに追加するためのインターフェイスビューを生成することができます(現在のタブに現在表示されているタブと重なるように)。

+0

私は、ビューを生成したり、別のビューを表示したりしたくありません。その特定のタブが押されたときにアクションを呼び出すだけで、セレクターを呼び出してそれを処理し、同じビューにとどまることができます。 – Anand

+0

その場合、ちょうど答えの第2部分を無視して、デリゲートコールバックであなたが何をする必要があれば何でもしてください(それをウインドウに追加するという提案は、ユーザーがそれを却下したとき、あなたのアプリはそうだった)。そのコールバックでNOを返すと、タブが選択されません。これはあなたが望むものです。 – jbat100

+0

右の音。しかし今、私の6番目のタブのタイプは何でしょうか。現在、他の5つの "UIViewController"オブジェクトを使用しています。 6番目のオプションを表示するには、どのオブジェクトを使用する必要があります。私はUIViewControllerオブジェクトを作成し、 "[localTabBarController setViewControllers:[NSArray arrayWithObjects:" "、" "...]のようにUITabBarに追加します。 – Anand

関連する問題