tableViewController的tableView不会根据其方向而改变

时间:2013-04-03 09:59:09

标签: objective-c ios5 uiviewcontroller uiinterfaceorientation

我有一个类,它是tableViewController的子类。我正在尝试旋转我的表视图。我实现了两种方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == (UIInterfaceOrientationPortrait | UIInterfaceOrientationLandscapeLeft |
                                     UIDeviceOrientationLandscapeRight));
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
    [super didRotateFromInterfaceOrientation:fromInterfaceOrientation];
    [self.tableView reloadData];
}

这个控制器被命名为rootViewController,appDelegate方法的一部分是didFinishLaunchingWithOptions:是

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.rootViewController];
self.navigationController = navController;
self.window.rootViewController = self.navigationController;

我将rootViewController设置为navigationController,将rootViewController设置为我的rootViewController对象。

我不知道这两种方法是否足以根据方向重新加载表格。我是否必须包含任何其他方法?我看到(void)didRotateFromInterfaceOrientation:我的rootViewController在旋转后没有被调用,但是,即使不需要,也应该经常调用.AutorotateToInterfaceOrientation :.我看到一个类似的帖子,他们建议包括[super didRotateFromInterfaceOrientation:interfaceOrientation],但它仍然没有用。

1 个答案:

答案 0 :(得分:0)

不,您不需要手动更改任何内容。 问题:tableView是否设置为封闭viewController的视图?