currentContext
和overCurrentContext
的{{3}}具有相同的描述。
我可以发现的差异是:
(如果有):
@available(iOS 3.2, *)
case currentContext
@available(iOS 8.0, *)
case overCurrentContext
使用currentContext
,在关闭显示的视图控制器后,将调用被覆盖的视图控制器的viewWillAppear
(不必是提供上下文的视图控制器)。使用overCurrentContext
不会被调用。
还有其他区别吗?
答案 0 :(得分:2)
它与fullScreen
和overFullScreen
之间的区别完全相同。第一个将视图从其覆盖的区域中删除;第二个没有,只是覆盖了它。
(在两种情况下,如果您所呈现的视图控制器的主视图的背景色具有一定的透明度,就可以很容易地从视觉上看到这种差异。但是,行为上的差异更为重要;当某些视图突然从视图中被撕开时,它们将变得不满意。视图层次结构,因此最好保留它们并使用.over
变体。)
使用currentContext,在关闭显示的视图控制器后,将调用所覆盖的视图控制器的viewWillAppear(不必是提供上下文的视图控制器)。使用overCurrentContext不会调用它。
那只是我刚才所说的结果。使用over
时,viewWillAppear
不会被解雇,因为视图从不消失。它只是坐在呈现的视图后面。同样,这与fullScreen
和overFullScreen
完全平行。