我对iOS很新,我试图在另一个用于iPad应用程序的向下钻取例程中显示来自另一个tableView控制器的tableView控制器。但是,新的tableView将不会显示。我可以在调试模式下通过以下例程遵循程序逻辑,但在此逻辑之后,屏幕上仍保留相同的视图。我在新的tableview程序中设置了断点,以便显示它们并且永远不会到达它们。我已将HEDView.h
包含在此程序的应用程序文件中,并且不知道为什么不显示新视图。任何帮助或建议更多信息表示赞赏。
以下是调用tableView的例程:HEDView不会显示。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Navigation logic may go here. Create and push another view controller.
[tableView deselectRowAtIndexPath:indexPath animated:NO];
HEDView *detailViewController = [[HEDView alloc] initWithNibName:@"HEDView" bundle:nil];
// Pass the selected object to the new view controller.
detailViewController.title = @"HEDView";
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
}
答案 0 :(得分:0)
如果您的要求是在选择行中的单元格时导航到其他viewcontroller,那么我认为您的navigationcontroller没有正确分配。同时调试检查self.navigationController是否返回正确的地址。如果没有那么你必须先正确分配它。
还有一件事,HEDView是UIViewController所以你应该遵循正确的命名约定。
答案 1 :(得分:0)
在AppDelegate.m中实施- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
,并在AppDelegate.h中包含@property (nonatomic, retain) UINavigationController *navControl;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease];
navControl = [[UINavigationController alloc] initWithRootViewController:self.viewController];
[self.window addSubview:[navControl view]];
[self.window makeKeyAndVisible];
return YES;
}
我认为这会对你有所帮助。