UIKit要素とxibファイルを使用していくつかのアプリケーションを開発しています。まず、テーブルと詳細ビューで構成されるマスター詳細アプリケーションを作成しました。セルと詳細ビューをカスタマイズしましたが、すべてがうまく機能しました。次に、新しいビューを追加したいと思いました。これは、ユーザーに表示される最初のビューのように動作します。新しいビューを作成し、マスタービューが追加されたように、それをアプリデリゲートに追加したいと思いました。動作しますが、詳細ビューが動作せず、理由がわかりません。わかりやすくするためのコードを次に示します。
AppDelegate:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self customizeAppearance];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
HomeScreenViewController *homescr = [[HomeScreenViewController alloc]initWithNibName:@"HomeScreenViewController" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:homescr];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
私の新しい最初のビューにはボタンがあります:
- (IBAction)goToTableView:(id)sender {
MasterViewController *tableView = [[MasterViewController alloc]initWithNibName:@"MasterViewController" bundle:nil];
[self presentViewController:tableView animated:YES completion:nil];
}
masterViewControllerとdisplaytableに移動します。次に、テーブル内のすべての要素をクリックしても何も起こりません。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
NSLog(@"did select is up");
if (!self.detailViewController) {
self.detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
}
NSDate *object2 = [array1 objectAtIndex:[indexPath row]];
self.detailViewController.detailItem = object2;
[self.navigationController pushViewController:self.detailViewController animated:YES];
}
NSLogは情報を表示しますが、詳細ビューは表示されません。また、navigationControllerは最初のビューに表示され、テーブルビューには表示されません。
誰かが私が間違っていることを教えてもらえますか?
前もって感謝します :)