【发布时间】:2011-06-28 01:22:42
【问题描述】:
我们使用导航控制器和视图控制器向用户显示问题。一切正常,但我们进行了一些 UI 调整,以便我们可以将应用程序移植到 iPad,唯一的更改是使表格视图的框架动态地在 iphone 或 ipad 上。然而,现在当我们从 335 个问题中找到第 187 个问题时,它不再推送新问题......它推送一个空白屏幕,并且推送视图控制器的“viewDidLoad”方法永远不会被调用,因为它已经过去了187 次。我们设置了断点来确保导航控制器和视图控制器仍然分配在内存中。
这是每次新推送都会调用的视图控制器的 viewDidLoad...
- (void)viewDidLoad {
_tableView = [[QuestionTableView alloc] initWithFrame:self.view.frame style:UITableViewStyleGrouped];
_tableView.center = CGPointMake(self.view.center.x, self.view.frame.size.height/2);
[_tableView setDataSource:self];
[_tableView setQuestionDelegate:self];
[_tableView setDelegate:self];
_tableView.scrollEnabled = YES;
[_tableView setBackgroundView:[[[UIView alloc] init] autorelease]];
_tableView.directionalLockEnabled = YES;
_tableView.delaysContentTouches = NO;
_tableView.backgroundColor = [UIColor clearColor];
_tableView.opaque = NO;
[self.view addSubview:_tableView];
}
我们通过...推送视图控制器
[questionsNavigationController pushViewController:viewController animated:YES];
提前致谢! :)
【问题讨论】:
-
也只是想提一下,如果我们在模拟器中运行它没有问题......如果我们在 ipad 或 ipad2 上运行它,我们就会遇到上面列出的问题
-
导航堆栈上有 187 个视图控制器?我会从那里开始......
-
不是同一个控制器被推送不同的表数据。
-
那么它的视图应该已经加载了。
-
是的,这可以工作 187 次......但是如果我们将表格视图缩小,我们可以通过整个 335......
标签: objective-c ios ipad uitableview uinavigationcontroller