我正在使用 UIKit 元素和 xib 文件开发一些应用程序。首先,我创建了由表和详细视图组成的主详细信息应用程序。我已经自定义了单元格和详细视图,一切都很好。然后我想添加一个新视图,它的行为就像用户将看到的第一个视图。我创建了新视图,然后想将其添加到应用程序委托中,就像添加了主视图一样。它有效,但详细视图不起作用,我不知道为什么。这里有一些代码让它更清楚。
应用委托:
- (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 和显示表。然后我单击表中的每个元素,没有任何反应。
- (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 显示在第一个视图中,在表视图中不可见。
有人可以告诉我我做错了什么吗?
提前致谢 :)