私はこれをしばらく検索して実験してきましたが、何が間違っているのかわかりません。
メニュー付きのアプリを作りたいのですが、そのメニューからTableViewcontrollerタイトルバー付きの にアクセスできます。このタイトル バーを取得するには、 に「挿入」する必要があることがわかりましUITableViewControllerたUINavigationController。これは私が立ち往生しているところです。
ユーザーがボタンをタップしたときにビューコントローラーを切り替える方法を知っているので、今のところアプリのメニューを気にしない/忘れてください。
私の AppDelegate.m には次のものがあります。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
TableViewController *tableView = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
self.navController = [[UINavigationController alloc] initWithRootViewController:tableView];
self.window.rootViewController = navController;
[self.window makeKeyAndVisible];
return YES;
}
私の AppDelegate.h ファイルに次のものがあります。
@interface AppDelegate : UIResponder <UIApplicationDelegate>{
UINavigationController *navcontroller;
}
@property (strong, nonatomic) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;
私は2つのクラッサーUITableViewControllerとNavigationViewを持っています。
では、UITableViewController次の配列を作成しましたtableRows。
tableRows = [[NSArray arrayWithObjects:@"1", @"2", nil] init];
はnumberOfSectionsInTableView1 として設定され、numberOfRowsInSectionは として設定されますreturn tableRows.count;
タイトルを設定しようとしたことを除いて、NavigationView.m はそのままにしました。
で、NavigationView.xibと を接続しようとしUITableViewControllerましたUINavigationController。
- NSObject を追加し、そのクラスを AppDelegate に変更しました
- View を a に置き換え、
UIWindowwindow プロパティを myAppDelegate.hからそれに接続しました - を追加して、から に
UINavigationController接続しました。navControllerAppDelegate.h - 最後に、クラスを RootView から に変更しまし
UINavigationControllerたUITableViewController。
今私の問題は、IB の接続の有無にかかわらず、テーブルまたはタイトルバーで変更しようとしても、アプリを実行しても変更されないことです。
私が間違っていることを誰かが知っていますか?私は xcode 4.6 を使用しているため、チェックしたチュートリアルの多くは、古いバージョンの xcode で作成されているため、あまり役に立ちません。助けてください、よろしくお願いします!