文章目录

1.BaseAlertVC2.BindFrameNumAlertVC

1.BaseAlertVC

import UIKit

class BaseAlertVC: GLBaseViewController {

let centerView = UIView()

override func viewDidLoad() {

super.viewDidLoad()

view.backgroundColor = UIColor(displayP3Red: 0, green: 0, blue: 0, alpha: 0.3)

let tap = UITapGestureRecognizer.init(target: self, action: #selector(tapView))

tap.delegate = self

view.addGestureRecognizer(tap)

view.addSubview(centerView)

}

@objc func tapView() {

dismiss()

}

}

extension BaseAlertVC: UIGestureRecognizerDelegate {

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {

if (touch.view?.isDescendant(of: centerView))! {

return false;

}else{

return true;

}

}

}

2.BindFrameNumAlertVC

import UIKit

import XHToastSwift

class BindFrameNumAlertVC: BaseAlertVC,UITextFieldDelegate {

let textField = UITextField()

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

// Get the new text after the user enters or deletes characters

let newText = (textField.text as NSString?)?.replacingCharacters(in: range, with: string) ?? ""

// Limit the text field to 15 characters

return newText.count <= 15

}

override func viewDidLoad() {

super.viewDidLoad()

centerView.backgroundColor = .white

centerView.snp.makeConstraints { make in

make.width.equalTo(300)

make.height.equalTo(250)

make.center.equalToSuperview()

}

centerView.layer.cornerRadius = 10

let titleLabel = UILabel()

centerView.addSubview(titleLabel)

titleLabel.text = LocalizableManager.localValue("binding_frame_number")

titleLabel.snp.makeConstraints { make in

make.centerX.equalToSuperview()

make.top.equalToSuperview().offset(20)

}

textField.delegate = self

textField.backgroundColor = UIColor.rgbColor(red: 219, green: 219, blue: 219)

textField.keyboardType = .numberPad

textField.textAlignment = .center

centerView.addSubview(textField)

textField.snp.makeConstraints { make in

make.centerX.equalToSuperview()

make.width.equalTo(220)

make.height.equalTo(50)

make.top.equalTo(titleLabel.snp_bottom).offset(30)

}

textField.layer.cornerRadius = 10

//限制textField只能输入15个字符

let alertLabel = UILabel()

alertLabel.numberOfLines = 0

alertLabel.font = UIFont(name: "PingFang SC", size: 13)

alertLabel.textColor = .gray

alertLabel.text = LocalizableManager.localValue("input_corresponding_code")

centerView.addSubview(alertLabel)

alertLabel.snp.makeConstraints { make in

make.top.equalTo(textField.snp_bottom).offset(10)

make.left.equalTo(textField).offset(10)

make.right.equalTo(textField)

}

let sureBtn = UIButton()

sureBtn.backgroundColor = UIColor.rgbColor(red: 219, green: 219, blue: 219)

sureBtn.setTitleColor(.black, for: .normal)

sureBtn.addTarget(self, action: #selector(sureBtnClick), for: .touchUpInside)

sureBtn.setTitle(LocalizableManager.localValue("sure"), for: .normal)

centerView.addSubview(sureBtn)

sureBtn.snp.makeConstraints { make in

make.left.equalToSuperview().offset(30)

make.bottom.equalToSuperview().offset(-20)

make.width.equalTo(100)

make.height.equalTo(40)

}

sureBtn.layer.cornerRadius = 20

let cancelBtn = UIButton()

cancelBtn.backgroundColor = newUIYellow

cancelBtn.addTarget(self, action: #selector(cancelBtnClick), for: .touchUpInside)

cancelBtn.setTitle(LocalizableManager.localValue("cancel"), for: .normal)

centerView.addSubview(cancelBtn)

cancelBtn.snp.makeConstraints { make in

make.right.equalToSuperview().offset(-30)

make.bottom.equalToSuperview().offset(-20)

make.width.equalTo(100)

make.height.equalTo(40)

}

cancelBtn.layer.cornerRadius = 20

}

@objc func sureBtnClick(){

print(textField.text)

guard let str = textField.text,str.count == 15 else {

XHToast.showBottomWithText(LocalizableManager.localValue("input_only_six_num"))

return

}

}

@objc func cancelBtnClick(){

}

}

参考阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。