From 5ca691ec52cb4bb64841b0d85252af762e48c2ca Mon Sep 17 00:00:00 2001 From: 杨锴 <841720330@qq.com> Date: 星期四, 22 八月 2024 14:58:07 +0800 Subject: [PATCH] fix UI --- XQMuse/Root/Me/VC/UserProfileVC.swift | 104 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 92 insertions(+), 12 deletions(-) diff --git a/XQMuse/Root/Me/VC/UserProfileVC.swift b/XQMuse/Root/Me/VC/UserProfileVC.swift index 226ef82..995c1e1 100644 --- a/XQMuse/Root/Me/VC/UserProfileVC.swift +++ b/XQMuse/Root/Me/VC/UserProfileVC.swift @@ -8,18 +8,33 @@ import UIKit import QMUIKit import JQTools +import TZImagePickerController class UserProfileVC: BaseVC { @IBOutlet weak var image_user: UIImageView! @IBOutlet weak var tf_gender: QMUITextField! @IBOutlet weak var tf_birthday: QMUITextField! - - override func viewDidLoad() { - super.viewDidLoad() + + private var clipSize = CGSize(width: JQ_ScreenW, height: JQ_ScreenW) //裁剪大小 + private var clipFrame:CGRect{ + get{ + if clipSize.width == 0 || clipSize.height == 0 { + assert(false,"未设置裁剪框大小") + } + + var clipFrame = CGRect.zero + clipFrame.size = clipSize + clipFrame.origin = CGPoint(x: (JQ_ScreenW - clipSize.width)/2.0, y: (JQ_ScreenH - clipSize.width)/2.0) + return clipFrame + } + } + + override func viewDidLoad() { + super.viewDidLoad() title = "个人资料" - } - + } + override func setUI() { super.setUI() view.backgroundColor = UIColor(hexString:"#fafafa") @@ -32,9 +47,34 @@ } @objc func selectUserProfile(){ - JQ_ImagePickerTool.getSharedInstance().singleImage({ [unowned self] image in - self.image_user.image = image - }, clipSize: CGSize(width: JQ_ScreenW, height: JQ_ScreenW)) + CommonAlertSheetView.show(items: ["拍照","从相册选择"]) {[unowned self] index in + if index == 0{ + + guard UIImagePickerController.isSourceTypeAvailable(.camera) else{ + alertError(msg: "当前设备相机不可用");return + } + + let p = UIImagePickerController() + p.delegate = self + p.modalPresentationStyle = .fullScreen + p.allowsEditing = true + p.sourceType = .camera + p.cameraDevice = .front + self.present(p, animated: true) + }else{ + let p = TZImagePickerController(maxImagesCount: 1, columnNumber: 3, delegate: self) + p!.modalPresentationStyle = .fullScreen + p!.allowTakeVideo = false + p!.allowTakePicture = false + p!.sortAscendingByModificationDate = true + p!.scaleAspectFillCrop = true + p!.allowPickingVideo = false + p!.maxImagesCount = 1 + p!.allowCrop = true + p!.cropRect = self.clipFrame + self.present(p!, animated: true, completion: nil) + } + } } } @@ -42,13 +82,12 @@ func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { if textField == tf_gender{ - let items = ["男","女"] + let items = ["男","女","保密"] CommonAlertSheetView.show(items: items) {[weak self] index in guard let weakSelf = self else { return } guard textField.text != items[index] else {return} textField.text = items[index] var gender:GenderType! - if index == 0{ gender = .man }else{ @@ -59,12 +98,53 @@ if textField == tf_birthday{ view.endEditing(true) - CommonDatePickerView.show(before: 60, after: 0, type: .YMD) { year, month, day,_,_ in - textField.text = String(format: "%ld-%02ld-%02ld", year!,month!,day!) + BitrhdayPickerView.show(title: "", type: .YMD) { date in + } +// CommonDatePickerView.show(before: 60, after: 0, type: .YMD) { year, month, day,_,_ in +// textField.text = String(format: "%ld-%02ld-%02ld", year!,month!,day!) +// } return false } return false } } + +extension UserProfileVC:TZImagePickerControllerDelegate{ + public func imagePickerController(_ picker: TZImagePickerController!, didFinishPickingPhotos photos: [UIImage]!, sourceAssets assets: [Any]!, isSelectOriginalPhoto: Bool) { + picker.selectedAssets = NSMutableArray(array: assets) + } + + public func imagePickerController(_ picker: TZImagePickerController!, didFinishPickingAndEditingVideo coverImage: UIImage!, outputPath: String!, error errorMsg: String!) { + + } +} + +extension UserProfileVC:UIImagePickerControllerDelegate & UINavigationControllerDelegate{ + //成功选取 + public func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { + + var image:UIImage? + image = (info[UIImagePickerController.InfoKey.originalImage] as! UIImage) + let corpperVC = VPImageCropperViewController(image: image!, cropFrame: clipFrame, limitScaleRatio: Int(image!.scale)) + corpperVC.modalPresentationStyle = .fullScreen + DispatchQueue.main.asyncAfter(deadline: .now()+1.0) { + JQ_currentViewController().present(corpperVC, animated: true, completion: nil) + } + + unowned let weakSelf = self + corpperVC.imageCropperHandler { (vc, image) in + + } cancelClouse: { + corpperVC.dismiss(animated: true) { + + } + } + + + picker.dismiss(animated: true) { + + } + } +} -- Gitblit v1.7.1