currentContext 和 overCurrentContext 有什么区别?
What's the difference between currentContext and overCurrentContext?
currentContext
和 overCurrentContext
的 docs 具有相同的描述。
我能发现的差异是:
可用时间:
@available(iOS 3.2, *)
case currentContext
@available(iOS 8.0, *)
case overCurrentContext
使用 currentContext
,在关闭呈现的视图控制器后,被覆盖的视图控制器的 viewWillAppear
被调用(不一定是提供语境)。使用 overCurrentContext
它不会被调用。
还有什么不同吗?
和fullScreen
和overFullScreen
的区别完全一样。第一个从它覆盖的区域中删除视图;第二个没有,它只是覆盖它。
(在这两种情况下,如果您呈现的视图控制器的主视图的背景颜色具有一定的透明度,这种差异在视觉上很容易看出。但是行为的差异更为重要;一些视图在突然被撕掉时变得不愉快视图层次结构,因此最好将它们留在原地并使用 .over
变体。)
With currentContext, after dismissing the presented view controller, viewWillAppear of the covered view controller gets called (which doesn't have to be the view controller that provides the context). With overCurrentContext it does not get called.
这只是我刚才所说的结果。对于 over
,viewWillAppear
不会在解雇时被调用,因为视图从一开始就没有消失;它只是坐在呈现的视图后面。同样,这与 fullScreen
和 overFullScreen
.
完全平行
currentContext
和 overCurrentContext
的 docs 具有相同的描述。
我能发现的差异是:
可用时间:
@available(iOS 3.2, *) case currentContext @available(iOS 8.0, *) case overCurrentContext
使用
currentContext
,在关闭呈现的视图控制器后,被覆盖的视图控制器的viewWillAppear
被调用(不一定是提供语境)。使用overCurrentContext
它不会被调用。
还有什么不同吗?
和fullScreen
和overFullScreen
的区别完全一样。第一个从它覆盖的区域中删除视图;第二个没有,它只是覆盖它。
(在这两种情况下,如果您呈现的视图控制器的主视图的背景颜色具有一定的透明度,这种差异在视觉上很容易看出。但是行为的差异更为重要;一些视图在突然被撕掉时变得不愉快视图层次结构,因此最好将它们留在原地并使用 .over
变体。)
With currentContext, after dismissing the presented view controller, viewWillAppear of the covered view controller gets called (which doesn't have to be the view controller that provides the context). With overCurrentContext it does not get called.
这只是我刚才所说的结果。对于 over
,viewWillAppear
不会在解雇时被调用,因为视图从一开始就没有消失;它只是坐在呈现的视图后面。同样,这与 fullScreen
和 overFullScreen
.