Develop
2014.06.30 11:13
[ios] TextField 특정 문자만 사용하도록 하기
Views 3886 Comment 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
-
[linux] split 명령어
-
[ios][swift] 초간단 TableView 샘플
-
[ios] iOS 의 인앱구매 소개
-
[ios] URL Scheme 이용하여 앱 설치 확인
-
[linux] CentOS Apache Httpd에 https 적용
-
[ios] 앱딜리게이트 라이프사이클 (AppDelegate Lifecycle)
-
What is difference between Get, Post, Put and Delete?
-
[ios] iOS 7 이상 UIBarButtonItem 여백
-
[mysql] 중복데이터 삭제하는 초간단 쿼리
-
[android] 초간단 얼럿 (AlertDialog)
-
[ios] AES256 알고리즘을 이용해 데이터 암호화/복호화 방법
-
[linux] resolv.con 초기화 되는 문제