728x90
반응형
안녕하세요 욱승입니다.
이번 포스팅에서는 휴대폰번호 포맷팅을 해주는 라이브러리가 있어 설명드립니다. 회원가입이나 휴대폰 번호를 입력 받을때 유용한 라이브러리 입니다. 하지만 보통 textfield를 세개로 나누어 010, 1234, 1234 입력 받지만 그렇지 않은 경우에는 이 라이브러리가 유용하니 참고바랍니다!
환경
- iOS9.0이상
- Swift4
Podfile
사용법
54 ~ 56라인은 최대 입력 제한을 걸어두는 로직입니당
13자리 까지만 입력이되니 입력후 서버 혹은 다른곳에 저장될때 오입력된 값이 들어오지 않겠죠?
전체 예제코드
//
// ViewController.swift
// JSPhoneFormat
//
// Created by plsystems on 2023/02/20.
//
import UIKit
import SnapKit
import Then
import JSPhoneFormat
protocol ViewAttributes {
func setUI()
func setAttributes()
}
class ViewController: UIViewController, UITextFieldDelegate, ViewAttributes{
let phoneFormat = JSPhoneFormat.init(appenCharacter: "-") // 구분 Character
lazy var labelThen = UITextField().then {
$0.placeholder = "휴대폰 번호 입력"
$0.addTarget(self, action: #selector(editingChanged(_:)), for: .editingChanged)
}
override func viewDidLoad() {
super.viewDidLoad()
setUI()
setAttributes()
}
func setUI() {
self.view.addSubview(labelThen)
}
func setAttributes() {
labelThen.snp.makeConstraints {
$0.centerX.centerY.equalTo(self.view.safeAreaLayoutGuide)
}
}
@objc func editingChanged(_ sender: Any){
guard let textField = sender as? UITextField ,let text = textField.text else{ return }
// PhoneNumber Formatting Formatting
textField.text = phoneFormat.addCharacter(at: text)
// MaxLength 제한 ('/' 구분선 포함 13자리)
if text.count > 13 {
textField.deleteBackward()
}
}
}
결과
결론
앞서 말했듯이 요즘은 TextField하나에 휴대폰 번호를 전체다 입력 받을일이 많지 않은데, 혹시 모르니 알아두면 좋은 라이브러리 인것 같다.
샤라웃 JSPhoneFormat
그럼 20000 태클 환영ㅋ
Reference
728x90
반응형
'iOS > Library' 카테고리의 다른 글
[Swift] 구글 AdMob, 앱에 광고달기 (0) | 2023.03.15 |
---|---|
[iOS] CocoaPods could not find compatible versions for pod (0) | 2023.03.14 |
[Swift] Toast메시지 띄우기 (0) | 2023.03.10 |
[Swift] Then 라이브러리 예제 (0) | 2023.02.20 |
[Swift] 에러로그 - Ignoring ffi-1.15.5 because its extensions are not built. Try: gem pristine ffi --version 1.15.5 (0) | 2023.02.20 |