当使用Modal Segue时viewWillAppear不会被调用



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

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated);
    self.tableView.reloadData()
    println("View Will Load was called")
} 

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

 self.presentingViewController!.viewWillAppear(true)

有人知道为什么会发生这种情况吗?就像我已经提到的,它工作得很好,我不知道为什么它现在停止工作了。

UPDATE似乎我将Modal segue从Over Context更改为Over Current Context因此,因为视图不会消失,它不会回忆viewWillLoad。我把它换回来了,又能用了。

当使用navController来推送时,假设VC1正在推送VC2,并且您正在使用自定义表示样式来推送VC2,根据您选择的样式,VC1的viewWillAppear将不会在VC2弹出时被调用。下面是一个when被调用的列表,根据它的显示样式。

UIModalPresentationStyle, iPhone, iPad

。全屏是是
.pageSheet是否
.formSheet是否
.currentContext YES YES
.custom NO NO
.overFullScreen NO NO
.overCurrentContext NO NO
.blurOverFullScreen仅在tvOS上- N/A, N/A
.popover是否

最新更新