- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
为了在 Swift 中调用过渡协调器的 animateAlongSideTransition
,我尝试了很多组合。我觉得我错过了一些非常愚蠢的东西。
如果我想调用它(来自 Swift 文档):
func animateAlongsideTransition(_ animation: ((UIViewControllerTransitionCoordinatorContext!) -> Void)!,
completion completion: ((UIViewControllerTransitionCoordinatorContext!) -> Void)!) -> Bool
我该怎么做?我只想在动画 block 中传递一些东西,而在完成 block 中不传递任何东西。
最佳答案
这绝对是你想要做的:
coordinator.animateAlongsideTransition({ context in
// do whatever with your context
context.viewControllerForKey(UITransitionContextFromViewControllerKey)
}, completion: nil)
如果你使用像$0
这样的变量作为第一个隐式参数,你也可以省略参数
coordinator.animateAlongsideTransition({
$0.viewControllerForKey(UITransitionContextFromViewControllerKey)
}, completion: nil)
in
语法一开始会让人吃惊,但你只需学习一次 :)
in
将参数与 block 体分开$0
、$1
、$2
等来省略参数...似乎有更冗长的语法,但它绝对不符合 Swift 精神(我也懒得把它贴在那里)
希望它能帮助(而且我不会忘记任何事情...)
编辑:
另一个专业提示是,当 block 是唯一参数时,您甚至可以省略括号
(下一个不行,不过是图思路)
coordinator.animateAlongsideTransition{
$0.viewControllerForKey(UITransitionContextFromViewControllerKey)
}
关于ios - 如何在 Swift 中调用 animateAlongsideTransition?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24461121/
我有一个使用 UICollectionView 的 iPad 应用程序.在 iOS 8 上,当设备旋转时,在 viewWillTransitionToSize在我的主 View Controller
我有一个 ViewController 假设 ViewControllerA 和一个 ViewController 假设 ViewControllerB。 ViewControllerB 使用自定义转
为了在 Swift 中调用过渡协调器的 animateAlongSideTransition,我尝试了很多组合。我觉得我错过了一些非常愚蠢的东西。 如果我想调用它(来自 Swift 文档): func
我正在尝试使用 UIViewControllerTransitioningDelegate、UIViewControllerAnimatedTransitioning 和 UIPresentation
我希望能够将自定义动画添加到 UITableViewCell 的子类中,这些子类将覆盖以下方法: override func setHighlighted(highlighted: Bool, ani
我已将动画添加到 UINavigationController 转换,其中涉及重新定位 UIImageView: transitionCoordinator()?.animateAlongsideTr
我有一个 UIViewController,它通过 Storyboard中的模态转场呈现(嵌入在 UINavigationController 中)。我正在尝试将键盘外观与模态演示一起制作动画(这的逻
我是一名优秀的程序员,十分优秀!