【发布时间】:2012-10-20 08:42:44
【问题描述】:
我正在使用 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 和显示表。然后我点击表格中的每个元素,没有任何反应。
- (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 显示在第一个视图中,在表格视图中不可见。
谁能告诉我我做错了什么?
提前致谢:)
【问题讨论】:
标签: iphone objective-c xcode uitableview uiviewcontroller