使用Modal Segue时未调用viewWillAppear

时间:2015-07-13 13:24:32

标签: ios swift uitableview

我有表视图控制器模态segue ,我可以将其添加到填充UITableView的数据中。我的代码从工作变为不工作,因为在关闭模态视图时现在没有调用viewWillAppear,因此表视图不会使用新数据重新填充表。

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated);

    self.tableView.reloadData()
    println("View Will Load was called")
} 

我在关闭模态视图时甚至添加了以下代码。

 self.presentingViewController!.viewWillAppear(true)

有人知道为什么会这样吗?就像我已经提到的那样它工作正常,无法弄清楚它为什么现在停止工作。

2 个答案:

答案 0 :(得分:1)

更新我似乎将Modal segue从 Over Context 改为 Over Current Context 因此,因为视图不会消失它没有'回忆viewWillLoad。我改回来了,它再次起作用。

答案 1 :(得分:0)

使用navController进行推送时,假设VC1正在推送VC2,并且您正在使用自定义表示样式来推送VC2,则取决于您选择哪种样式,当VC2弹出时不会调用VC1的viewWillAppear。以下是根据其表示方式调用when的列表。

UIModalPresentationStyle,iPhone,iPad

.fullScreen是是
.pageSheet是否
.formSheet是否
.currentContext是是
.custom否否
.overFullScreen否否
.overCurrentContext否否
.blurOverFullScreen仅在tvOS上-不适用,不适用
.popover是否
.none CRASH CRASH