2

xcode 4のタブ付きアプリケーションを変更して、ストーリーボードのないナビゲーション コントローラーを組み込んでいます。最初のタブにはテーブルが含まれています。これは、ナビゲート可能にする必要があるものです。

これがFirstViewController.hです

#import <UIKit/UIKit.h>

@interface FirstViewController : UIViewController <UITableViewDelegate,     UITableViewDataSource> {
IBOutlet UITableView *storeDetailsTable;
}

@property (nonatomic, retain) UITableView *storeDetailsTable;
@property (nonatomic, strong) NSDictionary *resultData;
@property (nonatomic, strong) NSMutableArray *populatedStoreArray;
@property (nonatomic, strong) NSMutableArray *images;


@end

NavController.h は次のとおりです。

 #import <UIKit/UIKit.h>

    @interface NavController : UINavigationController

    @property (nonatomic,retain) IBOutlet UINavigationController * navController;

    @end

だから、私は NavController を UIViewControllerSubclass として使用してから、上記に変更しました。

AppDelegate.h:

#import <UIKit/UIKit.h>
@class NavController;

@interface AppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate> {
    IBOutlet NavController *navController;
}

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UITabBarController *tabBarController;
@property (strong, nonatomic) IBOutlet NavController *navController;

@end

そして AppDelegate.m:

#import "AppDelegate.h"
#import "FirstViewController.h"
#import "SecondViewController.h"
#import "NavController.h"

@implementation AppDelegate

@synthesize window = _window;
@synthesize tabBarController = _tabBarController;
@synthesize navController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    navController = [[NavController alloc] initWithNibName:@"NavController" bundle:nil];
//        UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
    UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    self.tabBarController = [[UITabBarController alloc] init];
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:navController, viewController2, nil];
    self.window.rootViewController = self.tabBarController;
    [self.window makeKeyAndVisible];
    return YES;
}

ビルドして実行すると、2 つのタブが表示されます。ただし、最初のタブは、ナビゲーション コントローラーを示す空白の黒い画面にすぎませんが、必要なテーブルビューはありません。

私が見逃したものはありますか?

ありがとう..

4

1 に答える 1