0

私のアプリでは、私のルート ビュー コントローラーは、TabBar コントローラーの 1 つにある TabBar です。私はテーブル ビューを使用します。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
  TripDetailView * TripDetailViewObjec = [[TripDetailView alloc]init];
    [self.navigationController pushViewController:TripDetailViewObjec animated:YES];
}

これは何もしません。Self.navigation=null

そして私は AppDelegate で UINavigationController を作成しようとしています

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    AppDelegate * ApplicationDelegate =[[UIApplication sharedApplication]delegate];
        [[ApplicationDelegate Nav] pushViewController:TripDetailViewObjec animated:YES];
}

私のAppDelegate

@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
    WeekendTrips * WeekendTripsObject ; 
    UINavigationController * Nav;
}

@property (strong, nonatomic) UIWindow *window;
@property (strong,nonatomic)   UINavigationController * Nav;
@end

@implementation AppDelegate
@synthesize Nav;

@synthesize window = _window;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
WeekendTripsObject = [[WeekendTrips alloc]init];

    Nav=[[UINavigationController alloc]initWithRootViewController:WeekendTripsObject];
   [self.view addSubView Nav.view];
    return YES;
}

これは私ができることを動作しませんか?前もって感謝します

4

2 に答える 2

1

UINavigationControllerappdelegate 内のインスタンスを作成する必要があります。また、タブ バー コントローラーのビューにナビゲーション バーを追加する必要があります。

xib にタブ バーがある場合はUINavigationController、ライブラリ ウィンドウからタブ バーのツリー ビューにオブジェクトをドラッグします。ナビゲーション コントローラーをタブ バー コントローラー内に配置し、既存のビュー コントローラーをナビゲーション コントローラー内にドラッグします。

プログラムでタブバーを作成している場合、それは非常に簡単です:

好きなこと:

UIViewController *viewController1 = [[UIViewController alloc] initWithNibName:@"yournib1" bundle:nil];
UINavigationController *navigationcontroller = [[UINavigationController alloc] initWithRootViewController:viewController1];

UIViewController *viewController2 = [[UIViewController alloc] initWithNibName:@"yournib2" bundle:nil];

self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:navigationcontroller, viewController2, nil];

このチュートリアルを参照してください

于 2012-11-07T13:47:22.723 に答える
0

をアプリケーションのルート ビュー コントローラーとして使用し、最初のテーブル ビューをナビゲーション コントローラーのナビゲーション ルート ビューとしてUINaviatigationController追加する必要があります。その後、 を使用して他のテーブル ビューをプッシュできます[self.navigationController pushViewController:animated:]

于 2012-11-07T13:47:26.120 に答える