私はこれをしばらく検索して実験してきましたが、何が間違っているのかわかりません。
メニュー付きのアプリを作りたいのですが、そのメニューから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];
はnumberOfSectionsInTableView
1 として設定され、numberOfRowsInSection
は として設定されますreturn tableRows.count;
タイトルを設定しようとしたことを除いて、NavigationView.m はそのままにしました。
で、NavigationView.xib
と を接続しようとしUITableViewController
ましたUINavigationController
。
- NSObject を追加し、そのクラスを AppDelegate に変更しました
- View を a に置き換え、
UIWindow
window プロパティを myAppDelegate.h
からそれに接続しました - を追加して、から に
UINavigationController
接続しました。navController
AppDelegate.h
- 最後に、クラスを RootView から に変更しまし
UINavigationController
たUITableViewController
。
今私の問題は、IB の接続の有無にかかわらず、テーブルまたはタイトルバーで変更しようとしても、アプリを実行しても変更されないことです。
私が間違っていることを誰かが知っていますか?私は xcode 4.6 を使用しているため、チェックしたチュートリアルの多くは、古いバージョンの xcode で作成されているため、あまり役に立ちません。助けてください、よろしくお願いします!