Notice
Recent Posts
Recent Comments
Link
투케이2K
656. (ios/swift5) [간단 소스] IOS UITextField 에서 클립 보드 복사 (Copy) , 붙여넣기 (Paste) 기능 막기 방법 본문
IOS
656. (ios/swift5) [간단 소스] IOS UITextField 에서 클립 보드 복사 (Copy) , 붙여넣기 (Paste) 기능 막기 방법
투케이2K 2026. 5. 25. 10:50728x90
반응형
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5

[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Swift5
- 개발 툴 : Xcode
- 기술 구분 : UITextField / Copy / Paste
- 사전) 👉 클립 보드 기능 간략 설명 :
>> 클립보드 (Clipboard) 는 운영체제가 제공하는 임시 데이터 저장 공간입니다.
>> 클립보드 (Clipboard) 는 사용자가 복사(Copy), 잘라내기(Cut), 붙여넣기(Paste)를 수행할 때 데이터를 잠시 보관하는 역할을 합니다.
>> 클립보드 동작 구조 :
복사(Copy)
↓
클립보드에 저장
↓
붙여넣기(Paste)
↓
다른 앱/위치에 데이터 전달
- 사전) 👉 UITextField 간략 설명 :
>> UITextField 는 iOS 에서 사용자가 한 줄 (single-line) 텍스트를 입력할 수 있는 UI 컴포넌트입니다.
- 안드로이드의 EditText 와 비슷한 역할을 합니다.
>> UITextField 대표적인 사용 예:
- 로그인 아이디 입력
- 비밀번호 입력
- 검색창
- 전화번호 입력
- OTP 인증번호 입력
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
class SecureTextField: UITextField { // 👉 UITextField를 상속(:) 받음
override func canPerformAction( // 👉 canPerformAction : iOS가 메뉴 항목을 보여줄지 결정할 때 호출됩니다.
_ action: Selector,
withSender sender: Any?
) -> Bool {
// 👉 복사 → 차단
// 👉 붙여넣기 → 차단
// 👉 잘라내기 → 차단
// 👉 선택 → 차단
// 👉 나머지 시스템 동작 → 기본 동작 유지
if action == #selector(copy(_:)) ||
action == #selector(paste(_:)) ||
action == #selector(cut(_:)) ||
action == #selector(select(_:)) ||
action == #selector(selectAll(_:)) {
return false
}
return super.canPerformAction(
action,
withSender: sender
)
}
}
let passwordField = SecureTextField()
passwordField.isSecureTextEntry = true // → 비밀번호 마스킹
passwordField.textContentType = .password
passwordField.autocorrectionType = .no // → 자동 수정 비활성화
passwordField.spellCheckingType = .no // → 맞춤법 검사 비활성화
passwordField.smartQuotesType = .no // → 스마트 따옴표 변환 방지
passwordField.smartDashesType = .no
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
▶️ [UITextField 텍스트 필드 shouldChangeCharactersIn 사용해 실시간 입력 글자 확인 실시]
https://kkh0977.tistory.com/2798
https://blog.naver.com/kkh0977/222899091972?trackingCode=blog_bloghome_searchlist
▶️ [UIPasteboard.general.image 사용해 클립보드에 이미지 복사 및 imageView 이미지 뷰에 표시 실시]
https://kkh0977.tistory.com/3217
https://blog.naver.com/kkh0977/222925445890?trackingCode=blog_bloghome_searchlist
▶️ [유틸 파일] setClipboard : 클립 보드 데이터 저장 - UIPasteboard.general.string
https://kkh0977.tistory.com/4858
https://blog.naver.com/kkh0977/223261910867?trackingCode=blog_bloghome_searchlist
▶️ [클립보드 기능 사용해 데이터 복사 (copy) 실시 - UIPasteboard]
https://kkh0977.tistory.com/1508
https://blog.naver.com/kkh0977/222640886969?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
728x90
반응형
'IOS' 카테고리의 다른 글
Comments
