pec*_*eco 3 uiviewcontroller ios swift
我想提出一个视图控制器:
我的基本想法是尝试一些不同的配置,然后看看哪种配置会导致viewWillAppear在后面的视图控制器上被调用。
尝试1
presentedViewController.modalPresentationStyle = .Custom
presentedViewController.transitioningDelegate = someTransitioningDelegate
Run Code Online (Sandbox Code Playgroud)
此方法的结果:
viewWillAppear并没有得到所谓背后的视图控制器上presentedViewController,当我打电话presentedViewController.dismissViewControllerAnimated(true)我确实希望viewWillAppear在被解雇的视图控制器下面调用它,所以我这样做了:
尝试2
presentedViewController.modalPresentationStyle = .FullScreen
presentedViewController.transitioningDelegate = someTransitioningDelegate
Run Code Online (Sandbox Code Playgroud)
要么
presentedViewController.modalPresentationStyle = .FullScreen
presentedViewController.modalTransitionStyle = .CoverVertical
presentedViewController.transitioningDelegate = someTransitioningDelegate
Run Code Online (Sandbox Code Playgroud)
此方法的结果:
viewWillAppearpresentedViewController解雇时在后面的视图控制器上被调用presentedViewController似乎.FullScreen导致后面的视图控制器presentedViewController从显示层次结构中删除-这很好,因为大概是触发该viewWillAppear调用的原因。
尝试3
presentedViewController.modalPresentationStyle = .FullScreen
presentedViewController.modalTransitionStyle = .CoverVertical
Run Code Online (Sandbox Code Playgroud)
结果是:
viewWillAppear在后面的视图控制器上被调用presentedViewController。presentedViewController。我的工作项目的方式,使得它很难使用授权(这似乎是建议的答案被结构在这里)。利用NSNotificationCenter是另一种选择,它可以让我调用应该由调用的代码viewWillAppear,但是从尝试3开始,我希望有一种更优雅的方法来实现所有这些目标:
viewWillAppear似乎Apple认为调用viewWillAppearetc 是犯规的,但是可以调用beginAppearanceTransitionand endAppearanceTransition,而后者又会调用viewWillAppear。我要用这个。
| 归档时间: |
|
| 查看次数: |
1302 次 |
| 最近记录: |