2011-12-16 10 views
0

私は、tabBarViewコントローラを持つアプリケーションを持っています。 UITabBarViewの1つのセクション内に、ナビゲーションコントローラによるテーブルコントロールがあります。私は行をタップし、それぞれのビューに私を連れて行きます。そこにはトップに戻るボタンがあり、テーブルに戻ってきます。これはすべて正常に動作しますが、電子メールの方法にリンクする電子メールボタンを右側(基本的には任意のボタン)まで追加したいと思います。メソッドにリンクするコードでUINavigationItemを追加する

これは私がすべてを行うが、メソッドにリンクするボタンを追加するアプリケーションデリゲートにあるコードです。誰かがこれを行う方法を知っていれば、それは非常に高く評価されるだろう。ありがとう!

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{  
    self.tabBarItem = [[[UITabBarItem alloc] init] autorelease]; 

    RootViewController *view1 = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil]; 
    view1.title= @"Current"; 

    Upcoming *view2 = [[Upcoming alloc] initWithNibName:@"Upcoming" bundle:nil]; 
    view2.title = @"Upcoming"; 

    historyViewController *view3 = [[historyViewController alloc] initWithNibName:@"history" bundle:nil]; 
    view3.title = @"history"; 

    usageViewController *view4 = [[usageViewController alloc] initWithNibName:@"usageView" bundle:nil]; 
    view4.title = @"usage"; 

    RandomGeneratorViewController *view5 = [[RandomGeneratorViewController alloc] initWithNibName:@"RandomGenerator" bundle:nil]; 
    view5.title = @"more"; 

    // UINavigationController *nav1 = [[UINavigationController alloc] initWithRootViewController:view1]; 
    UINavigationController *nav1 = [[UINavigationController alloc] initWithRootViewController:view1]; 
    UINavigationController *nav2 = [[UINavigationController alloc] initWithRootViewController:view2]; 
    UINavigationController *nav3 = [[UINavigationController alloc] initWithRootViewController:view3]; 
    UINavigationController *nav4 = [[UINavigationController alloc] initWithRootViewController:view4]; 
    UINavigationController *nav5 = [[UINavigationController alloc] initWithRootViewController:view5]; 

    [view1 release]; 
    [view2 release]; 
    [view3 release]; 
    [view4 release]; 
    [view5 release]; 

    self.tabBarController = [[[UITabBarController alloc] init] autorelease]; 
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:nav1,nav2,nav3,nav4,nav5,nil]; 
    self.tabBarItem = [[[UITabBarItem alloc] init] autorelease]; 

    [nav1 release]; 
    [nav2 release]; 
    [nav3 release]; 
    [nav4 release]; 
    [nav5 release]; 

    NSArray *tabBarItems = self.tabBarController.tabBar.items; 

    UIImage *tab1 = [UIImage imageNamed:@"trophy.png"]; 
    UIImage *tab2 = [UIImage imageNamed:@"12-eye.png"]; 
    UIImage *tab3 = [UIImage imageNamed:@"169-8ball.png"]; 
    UIImage *tab4 = [UIImage imageNamed:@"30-key.png"]; 
    UIImage *tab5 = [UIImage imageNamed:@"30-key.png"]; 

    NSArray *tabBarImages = [[NSArray alloc] initWithObjects:tab1, tab2, tab3, tab4, tab5, nil]; 

    NSInteger tabBarItemCounter; 

    for (tabBarItemCounter = 0; tabBarItemCounter < [tabBarItems count]; tabBarItemCounter++) 
    { 
     UITabBarItem *tabBarItem = [tabBarItems objectAtIndex:tabBarItemCounter]; 
     tabBarItem.image = [tabBarImages objectAtIndex:tabBarItemCounter]; 
    } 

    [window addSubview:tabBarController.view]; 
    [window makeKeyAndVisible]; 

    return YES; 
} 

答えて

0

私はあなたは問題があるかどうかを確認する必要があり1.maybe:あなたがメソッドを実行したい2.Ifは、私は多分あなたがするIBActionを使用する必要があり、ボタン

を押したときにメソッドを実行する方法それ。それを行うためのイベントを選択しました。

3.あなたはメールアプリを使いたいと言っています。ライブラリを追加する必要があります。その名前はMessageUiです。

多分、このページがお手伝いしますます。http://stackoverflow.com/questions/1643007/iboutlet-and-ibaction

私は、これは私の問題はで表示されるようにボタンを取得しているあなた

+0

役立つことを願っていますすべて...別名インターフェイスビルダーなしのボタンを埋める – Teddy13

+0

あなたは詳細を記述することができます。 –

+0

トップで自分のコードを見てください。コードが正しくコーディングされているので、テーブルの行をタップすると別のビューに移動し、「戻る」ボタンで簡単に戻ることができます。今私は、UINavigationControllerの右に(バックボタンは左に)UINavigationControllerに別のボタンを追加したいと思います。コードビルダーではなく、インターフェイスビルダー – Teddy13

関連する問題