느려요

진짜로

IT/Mobile

[iOS/Objective-C] UITextField에 숫자만 입력하게 하기

느이 2023. 4. 3. 14:23

UITextField에 숫자만 입력할 수 있게 하려면 아래처럼 사용하면 된다.

- (IBAction)actionTextAuth:(UITextField *)sender
{
    NSCharacterSet *cSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"].invertedSet;
    NSArray *compStr = [sender.text componentsSeparatedByCharactersInSet:cSet];
    NSString *filterStr = [compStr componentsJoinedByString:@""];
    if (![sender.text isEqualToString:filterStr]) {
        [sender deleteBackward];
    }
}

위의 함수를 텍스트 필드 액션으로 추가하면 끝.

0부터 9까지의 텍스트가 아닌 경우에는 방금 입력한걸 삭제하는 방식으로 동작한다.

 

만약에 전화번호처럼 숫자와 '-' 글자만 쓰게 하고 싶으면

[NSCharacterSet characterSetWithCharactersInString:@"0123456789-"].invertedSet;

이렇게 바꿔주면 되는듯..

 

끗!

 

안드로이드는 텍스트 필드 inputType을 number로 하면 끝인데...

반응형