在SwrevealViewController中逐渐消失和淡出的动画,以iChang的滑入和滑出动画



我正在使用 SWRevealViewController用于左侧的菜单,我想更改默认动画并制作淡出淡出的动画。我尝试了他们在下面拥有的代表,但没有解决。

    func revealController(_ revealController: SWRevealViewController!, animateTo position: FrontViewPosition) {
    if position == .left {
        view.alpha = 0.15
    }
    else if position == .right {
        view.alpha = 1
    }
}
import Foundation
import UIKit
extension UIView {
    func fadeIn(_ duration: TimeInterval = 1.0, delay: TimeInterval = 0.0, completion: @escaping ((Bool) -> Void) = {(finished: Bool) -> Void in}) {
        UIView.animate(withDuration: duration, delay: delay, options: UIViewAnimationOptions.curveEaseIn, animations: {
            self.alpha = 1.0
            }, completion: completion)  }
    func fadeOut(_ duration: TimeInterval = 1.0, delay: TimeInterval = 0.0, completion: @escaping (Bool) -> Void = {(finished: Bool) -> Void in}) {
        UIView.animate(withDuration: duration, delay: delay, options: UIViewAnimationOptions.curveEaseIn, animations: {
            self.alpha = 0.15
            }, completion: completion)
    }
}

现在在更改您的功能

func revealController(_ revealController: SWRevealViewController!, animateTo position: FrontViewPosition) {
    if position == .left {
        view.fadeOut()
    }
    else if position == .right {
        view.fadeIn()
    }
}

查看本教程!

,也可以尝试此

revealViewController.toggleAnimationType = SWRevealToggleAnimationTypeEaseOut

最新更新