1

コーディングなしで IB で 100% アプリを構築しました。私はコーディングのバックグラウンドがほとんどないので、親切に答えてください。:)

ボタン (タブ バー コントローラーの外にある) を使用して、タブ バー コントローラーの特定のタブに移動する方法が必要です。IB でモーダル リンクを作成すると、そこに移動しますが、下部のタブ バー コントローラーが表示されなくなります。

これをどのように正確に行うのですか?(例を含む仕様は非常に高く評価されます)

以下に答えます。

私は自分でそれを考え出しました...同様の解決策を探しているかもしれない人のために...

私がしたことは、globalVariable という最初のビュー コントローラーでグローバル変数を作成したことだけです。

//myview.h
#ifndef Globals_h
#define Globals_h

extern NSInteger globalVariable;

#endif

そのビューに 4 つのボタンを配置し、タブ バー コントローラーへのモーダル プッシュを行います。これらの各ボタンには、globalVariable の値を変更するアクションがあります。

//myview.m
- (IBAction)button1Action:(id)sender {
    globalVariable = 0;
}
- (IBAction)button2Action:(id)sender {
    globalVariable = 1;
}
//etc etc

次に、タブ バー コントローラー内で、selectedIndex を viewDidLoad 内の globalVariable に設定するだけです。

//tabbarcontroller.m
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.selectedIndex = globalVariable;
}
4

2 に答える 2

1

私は自分でそれを考え出しました...同様の解決策を探しているかもしれない人のために...

私がしたことは、globalVariable という最初のビュー コントローラーでグローバル変数を作成したことだけです。

//myview.h
#ifndef Globals_h
#define Globals_h

extern NSInteger globalVariable;

#endif

そのビューに 4 つのボタンを配置し、タブ バー コントローラーへのモーダル プッシュを行います。これらの各ボタンには、globalVariable の値を変更するアクションがあります。

//myview.m
- (IBAction)button1Action:(id)sender {
    globalVariable = 0;
}
- (IBAction)button2Action:(id)sender {
    globalVariable = 1;
}
//etc etc

次に、タブ バー コントローラー内で、selectedIndex を viewDidLoad 内の globalVariable に設定するだけです。

//tabbarcontroller.m
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.selectedIndex = globalVariable;
}
于 2012-08-07T05:27:56.873 に答える
0

IB にボタンのタッチアップ アクションを設定してもらう

そのメソッドでは、現在のコントローラーの親であるタブバーコントローラーにアクセスしたい

UITabBarController tbc = (UITabBarController) [self parentviewcontroller];
tbc.selectedIndex = 2;  //or whatever the index you need
于 2012-08-07T03:17:55.303 に答える