文章目录
1.BaseAlertVC 2.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 {
let newText = ( textField. text as NSString ? ) ? . replacingCharacters ( in : range, with: string) ?? ""
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
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 ( ) {
}
}