0

我有一个类,它是 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 对象。

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

4

1 回答 1

0

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

于 2013-04-03T10:49:20.110 回答