0

ビューにボタンがあり、ボタンをクリックした後にタブバーコントローラーを追加したい。これどうやってするの?

4

3 に答える 3

1

まず第一に、タブバーをサブビューとしてプッシュするのは良い考えだとは思いません

それでもこれをやりたい場合は、回避する方法がたくさんあります

それらの1つはmodalviewを使用することです

まず、ボタンを作成した後にこのコードを追加する必要があります

[button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];

あなたが持っているボタンにイベントリスナーを添付します

次に、タブバーのプッシュを行うイベント関数を作成します

-(void)buttonTapped: (UIButton *)sender
{
        YourTabBarClass *myTabBar = [[YourTabBarClass alloc]initWithNibName:nil bundle:nil];
        myTabBar.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

        [self presentModalViewController:myTabBar animated:YES];
}

.m に tabbarcontroller クラス ヘッダー ファイルをインポートすることを忘れないでください。

#import "YourTabBarClass.h"

この助けを願っています;)

edit : タブ バー ビューから前のメニューに戻る必要がある場合は、ボタンを追加してイベント リスナーを指定し、このコードを関数内に配置します。

[self resignFirstResponder];
    [self dismissModalViewControllerAnimated:YES];
于 2012-01-11T02:44:47.850 に答える
0
-(IBAction)BtnPressed:(id)sender
{
    UIViewController *searchViewController = [[[SearchViewController alloc] initWithNibName:@"SearchViewController" bundle:nil] autorelease];
searchViewController.title = @"Search";

UIViewController *exploreViewController = [[[SearchViewController alloc] initWithNibName:@"ExploreViewController" bundle:nil] autorelease];
exploreViewController.title = @"Explore";

UIViewController *dialerViewController = [[[DialerViewController alloc] initWithNibName:@"DialerViewController" bundle:nil] autorelease];
dialerViewController.title = @"Dialer";

self.tabBarController = [[[UITabBarController alloc]init]autorelease];

self.tabBarController.viewControllers = [NSArray arrayWithObjects:searchViewController, exploreViewController, dialerViewController, nil];

[self presentModalViewController:tabBarController animated:YES];
}

対応する nib ファイル (dialerViewController.xib、SearchViewController.xib、DialerViewController.xib) を作成し、これらのビューの高さを 411px にすることを忘れないでください (これはあなた次第です)。

ありがとう

于 2012-05-01T10:06:34.610 に答える