欢迎光临
我们一直在努力

登录按钮

建站超值云服务器,限时71元/月

登录按钮

项目介绍:

DKLoginButton

一款带有炫酷转场动画的登录按钮组件

语言:Swift4.0!! :cat:
Swift3.2
Swift2.0

本项目中实现了带有动画效果的登录按钮,一般用于 登录/注销 等操作

正如你可以看到下面的GIF动画演示,你可以在按钮旋转效果后设置到具体的状态(失败和成功对应不同的动画)

这些效果封装在同一个内文件中,只要按钮继承自这个类机就可以很方便的使用这个动画效果

Demo

Demo GIF Animation

image

cocopod添加方法

pod 'DKLoginButton'

手动添加方法

复制demo中的DKButton文件夹到项目即可

用法

这是 UIButton类的一个子类,使用前初始化并设置相关属性

    override func viewDidLoad() {
        super.viewDidLoad()
        // 设置场景
        UIApplication.shared.statusBarStyle = .lightContent
        let bg = UIImageView(image: UIImage(named: "Login"))
        bg.frame = self.view.frame
        self.view.addSubview(bg)
        // 创建按钮
        btn = DKTransitionButton(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width - 64, height: 44))
        btn.backgroundColor = UIColor(red: 1, green: 0, blue: 128.0 / 255.0, alpha: 1)
        btn.center = self.view.center
        btn.frame.bottom = self.view.frame.height - 60
        btn.setTitle("Sign in", for: UIControlState())
        btn.titleLabel?.font = UIFont(name: "HelveticaNeue-Light", size: 14)
        btn.addTarget(self, action: #selector(onTapButton(_:)), for: UIControlEvents.touchUpInside)
        btn.spiner.spinnerColor = UIColor.white
        self.view.addSubview(btn)
        self.view.bringSubview(toFront: canlogin)
    }

动画使用方法

    @IBAction func onTapButton(button: DKTransitionButton) {
        // 开始加载动画
        button.startLoadingAnimation()
        
        if self.canlogin.isOn {
            // 成功,进行界面切换
            button.startSwitchAnimation(1, completion: { [unowned self]() -> () in
                let secondVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "SecondViewController")
                secondVC.transitioningDelegate = self
                self.presentViewControllerWithDKAnimation(secondVC, animated: false, completion: nil)
            })
        } else {
            // 失败返回并提示
            button.startShakeAnimation(1, completion: {
                // 提示登录失败
                print("badend")
            })
        }
        
    }

返回到登陆的动画

@IBAction func onTapScreen() {
    button.moveToCenterExpand(0) {
        self.dismissViewControllerAnimated(false, completion: nil)
    }
}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 登录按钮
分享到: 更多 (0)