无法在iOS应用中显示tableView

时间:2011-10-15 19:16:25

标签: objective-c

我对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];   
}

2 个答案:

答案 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;
    }

我认为这会对你有所帮助。