8

我有一个UIViewController带有容器视图的容器视图,其中包含一个UITableView.

在 UITableView 我有一个 NSFetchControllerNSPredicate使用初始变量UIViewcontroller(我希望你还在我身边)。例如,用户更改容器视图不会更新。

发生这种情况时,如何强制重新加载/更新容器视图?我环顾四周,但在这个话题上没有看到太多。

具体来说,我有一个 UIDatePicker 可以更改按钮上的日期。正是这一点需要更新。

在此处输入图像描述

4

2 回答 2

15

从初始的 UIView 控制器中,您可以使用 self.childViewControllers[0] 获取对表视图控制器的引用。所以,你需要这样做:

UITableViewController *tbc = (UITableViewController *)self.childViewControllers[0];
[tbc.tableView reloadData];
于 2013-07-11T19:59:42.163 回答
0

你写道你有 UIViewController 而不是 UITableViewController - 如果你有 UIViewController 你必须在那里有一个属性。我认为这里一切都很好。但是检查一下。

我在使用容器视图时所做的是通过以下方式添加元素:

_someVC = [self.storyboard instantiateViewControllerWithIdentifier:@"SomeVC"];
[self addChildViewController:_someVC];
_someVC.view.frame = _containerView.bounds;
[_containerView addSubview:_someVC.view];
[_someVC didMoveToParentViewController:self];

而不是IB。希望有帮助。

于 2013-07-11T22:07:00.647 回答