Develop
2014.06.30 11:13
[ios] TextField 특정 문자만 사용하도록 하기
조회 수 2687 댓글 0
Xcode의 TextField 사용할때 특정 문자만 입력 받도록 하기 위해서는 다음과 같이 한다.
예) 숫자와 영문자만 입력 받기
#define LEGAL_TEXT @"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz " - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:LEGAL_TEXT] invertedSet]; NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""]; return [string isEqualToString:filtered]; }
예2) 숫자와 소수점만 입력 받기 (소수점이 입력된 뒤에는 숫자만 입력 받는다)
키패드 타입을 변경
entryField.keyboardType = UIKeyboardTypeNumbersAndPunctuation; #define NUMBERS @"0123456789" #define NUMBERSPERIOD @"0123456789." - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSCharacterSet *cs; NSString *filtered; // Check for period if ([entryField.text rangeOfString:@"."].location == NSNotFound) { cs = [[NSCharacterSet characterSetWithCharactersInString:NUMBERSPERIOD] invertedSet]; filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""]; return [string isEqualToString:filtered]; } // Period is in use cs = [[NSCharacterSet characterSetWithCharactersInString:NUMBERS] invertedSet]; filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""]; return [string isEqualToString:filtered]; }
[출처] http://comxp.tistory.com/250
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
993 | System/OS | 무료로 HTTPS 적용하기 (Let's Encrypt) | hooni | 2017.10.28 | 1409 |
992 | Develop | What is difference between Get, Post, Put and Delete? | hooni | 2018.02.28 | 1412 |
991 | Etc | 아이폰의 터치스크린 정확도 | hooni | 2015.04.01 | 1426 |
990 | Etc | IT감사 기법 시험 | hooni | 2017.06.14 | 1426 |
989 | System/OS | [linux] wget 명령 사용 예제 | hooni | 2020.05.26 | 1451 |
988 | System/OS | [mac] Mac OS에서 재생되는 사운드를 녹음하는 방법 | hooni | 2016.10.03 | 1452 |
987 | System/OS | OpenSSL로 ROOT CA 생성 및 SSL 인증서 발급하기 | hooni | 2017.10.28 | 1468 |
986 | Database | [mysql] MacOS에 MySQL 설치, 설정, 암호 재설정 | hooni | 2017.12.15 | 1474 |
985 | Develop | [android] 레이아웃 사이즈 변경 (동적; programmatically) | hooni | 2016.11.07 | 1490 |
984 | Develop | [ios] binary를 C코드로 변환 | hooni | 2015.01.03 | 1536 |
983 | System/OS | [mac] OS X 요세미티 사용자가 많이 겪는 버그와 몇몇 불편사항 | hooni | 2015.01.04 | 1536 |
982 | System/OS | [svn] 하나의 SVN에서 멀티 저장소 (One svnserve, multiple repositories) | hooni | 2015.01.02 | 1551 |