12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- //
- // ModifyDataAvatarView.swift
- // RainbowPlanet
- //
- // Created by 南鑫林 on 2019/6/19.
- // Copyright © 2019 RainbowPlanet. All rights reserved.
- //
- import UIKit
- class ModifyDataAvatarView: BaseView {
- typealias ImageUrlClosureName = (_ imgUrl: String) -> Void
- var imageUrlClosureName : ImageUrlClosureName?
-
- override func setupViews() {
- backgroundColor = .white
- addSubview(avatarButton)
- addSubview(editButton)
- }
-
- override func setupLayouts() {
- avatarButton.snp_makeConstraints { (make) in
- make.top.equalTo(20)
- make.centerX.equalToSuperview()
- make.size.equalTo(80)
- }
- editButton.snp_makeConstraints { (make) in
- make.top.equalTo(avatarButton.snp_bottom).offset(4)
- make.width.equalTo(64)
- make.height.equalTo(24)
- make.centerX.equalToSuperview()
- }
- }
-
- private lazy var avatarButton: UIButton = {
- let avatarButton = UIButton(type: UIButton.ButtonType.custom)
- avatarButton.setBackgroundImage(kImage(name: "default_avatar"), for: UIControl.State.normal)
- avatarButton.cornerRadius = 40
- avatarButton.masksToBounds = true
- avatarButton.rx.tap.subscribe(onNext: {
- [weak self] (data) in
- self?.alertPhotoAndCameraManager()
- }).disposed(by: disposeBag)
- return avatarButton
- }()
-
- private lazy var editButton : UIButton = {
- let editButton = UIButton(type: UIButton.ButtonType.custom)
- editButton.setTitle("更换头像", for: UIControl.State.normal)
- editButton.setTitleColor(k333333Color, for: UIControl.State.normal)
- editButton.layer.borderColor = kB4B4B4Color.cgColor
- editButton.layer.borderWidth = 1
- editButton.titleLabel?.font = kRegularFont12
- editButton.cornerRadius = 12
- editButton.masksToBounds = true
- editButton.rx.tap.subscribe(onNext: {
- [weak self] (data) in
- self?.alertPhotoAndCameraManager()
- }).disposed(by: disposeBag)
- return editButton
- }()
-
- func alertPhotoAndCameraManager() {
- PhotoAndCameraManager.shared().photoAndCameraManagerImageBlock = {
- [weak self] image in
- self?.configUploadSingleImgApi(imageArray: [image])
- }
- UIAlertController.showConfirmActionSheet(camera: { (cameraAction) in
- PhotoAndCameraManager.shared().authorizeCamera()
- }) { (albumAction) in
- PhotoAndCameraManager.shared().authorizePhoto()
- }
- }
-
- var userDetailModel: UserDetailModel? {
- didSet {
- avatarButton.kf.setBackgroundImage(with: kURLThumbnailsImage(name: userDetailModel?.avatar ?? "",size: kSize80x80Image), for: UIControl.State.normal, placeholder: kImage(name: "default_avatar"))
- }
- }
- }
- extension ModifyDataAvatarView {
- func configUploadSingleImgApi(imageArray: Array<UIImage>) {
- SwiftMoyaNetWorkServiceConfig.shared().configUploadSingleImgApi(imageArray: imageArray) {
- [weak self] (imageUrl) -> (Void) in
- self?.avatarButton.setBackgroundImage(imageArray[0], for: UIControl.State.normal)
- if let imageUrlClosureName = self?.imageUrlClosureName {
- imageUrlClosureName(imageUrl as! String)
- }
- }
- }
- }
|