Nessuna descrizione

LoginViewController.swift 2.5KB

    // // LoginViewController.swift // PaiAi // // Created by zhengjianfei on 16/4/17. // Copyright © 2016年 FFIB. All rights reserved. // import UIKit import PaiaiDataKit import PaiaiUIKit import RxSwift final class LoginViewController: UIViewController { @IBOutlet weak var pageControl: UIPageControl! @IBOutlet weak var scrollView: UIScrollView! @IBOutlet weak var guestLoginBtn: UIButton! @IBOutlet weak var weixinLoginBtn: UIButton! public var userInfoViewModel: UserInfoViewModel! fileprivate var disposeBag = DisposeBag() override func viewDidLoad() { super.viewDidLoad() binding() setProperties() } func setProperties() { if #available(iOS 11, *) { return } automaticallyAdjustsScrollViewInsets = false } } /// binding UI extension LoginViewController { func binding() { bindInteraction() bindScrollViewDelegate() bindUserInfoViewModelToView() } func bindInteraction() { guestLoginBtn.rx.tap .bind(to: userInfoViewModel.guestLoginBtnTapped) .disposed(by: disposeBag) weixinLoginBtn.rx.tap .bind(to: userInfoViewModel.wxLoginBtnTapped) .disposed(by: disposeBag) } func bindUserInfoViewModelToView() { userInfoViewModel.loginCompleted.subscribe {[unowned self] _ in self.removeFromParentAndView() }.disposed(by: disposeBag) } func bindScrollViewDelegate() { scrollView.rx.didEndDecelerating .asDriver() .drive(onNext: {[weak self] (_) in guard let `self` = self else { return } self.pageControl.currentPage = Int(self.scrollView.contentOffset.x/self.view.width) }).disposed(by: disposeBag) scrollView.rx.didScroll .asDriver() .drive(onNext: {[weak self] (_) in guard let `self` = self else { return } if self.scrollView.contentOffset.x/self.view.width < 2 { self.weixinLoginBtn.isHidden = true self.guestLoginBtn.isHidden = true } else { #if (arch(i386) || arch(x86_64)) self.weixinLoginBtn.isHidden = false #else self.weixinLoginBtn.isHidden = !WXApi.isWXAppInstalled() #endif self.guestLoginBtn.isHidden = false } }).disposed(by: disposeBag) } }