UITextField 자동 대문자 유형-iPhone 앱


112

a에 대한 autocapitalizationType을 설정하여 UITextField각 단어의 첫 글자가 기본적으로 대문자로 표시되도록 하는 방법이 있습니까?

이것은 내가 원하는 것의 예입니다


45
반면에-문서를 열고이를 스캔하는 데 1 분을 낭비하는 대신 'UITextField 대문자'를 Google에 표시하고이 팝업을 2 초 안에 표시 할 수있는 것이 좋습니다. StackOverflow IS 문서.
Shaun Budhram 2013-08-27

1
이 같은 질문에 장애물 것은 1) 사람들이 일관성 직접 질문을 할 수있는 것을 나를 행복하게 (어떤 범위에 상관 없음), 2) 사람들은 최선의 *** 논평
윌 폰 울리히

답변:


237

사용하다 textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

자세한 내용은 다음을 참조하십시오. UITextInputTraits 프로토콜 참조


2
텍스트를 필드로지나 가면 도움이되지 않습니다. 이 경우 위임 텍스트 입력에서 각 단어의 첫 글자 교체
HotJard

HotJard를 좀 더 자세히 설명해 주시겠습니까? 텍스트를 붙여넣고 자동 대문자를 사용하는 방법을 알고 싶습니다.
vnchopra 2014-08-24

5
작동하지 않습니다. Xcode 6 iOS 8 Swift에서 시도했습니다. 나는 코드와 인터페이스 빌더에서 그것을했다. 둘 다 작동하지 않는다.
Van Du Tran 2014

10
인터페이스 빌더의 키보드가 기본값으로 설정되어 있는지 확인하십시오. 그렇지 않으면 작동하지 않습니다
OscarVGG 2015-08-25

3
또한 os 설정 (settings-> general-> keyboard)에서 자동 대문자가 활성화되어 있는지 확인하십시오. iOS 설정 값은 텍스트 필드에 설정 한 모든 값을 덮어 씁니다
Lope

38

우리가 원하는 것은 텍스트 필드의 autocapitalizationType.

목표 -C :

self.textfield.autocapitalizationType = UITextAutocapitalizationTypeWords

빠른:

self.textfield.autocapitalizationType = .words

여기에는 몇 가지 옵션이 있습니다.

여기에 이미지 설명 입력

  • allCharacters Shift 키를 두 번 두드리는 것과 같습니다. 기본적으로 Capslock입니다.
  • none 매우 자명하며 키보드는 문자를 대문자로 사용하지 않습니다.
  • sentences 끝 표시 구두점 뒤의 다음 단어를 대문자로 표시합니다.
  • words 모든 새 단어 (공백 뒤)를 대문자로 쓰려고하는데, 당신이 찾고있는 것과 정확히 일치하는 것 같습니다.

이 속성은 적절한 텍스트 필드를 선택한 경우 인터페이스 빌더의 속성 검사기에서 설정할 수도 있습니다.

여기에 이미지 설명 입력

"대문자 화"는이 그룹의 첫 번째 옵션이며 텍스트 필드의 최소 글꼴 크기를 선택하여 통과했습니다.


8

capitalization속성을 "단어"로 설정하면 사용자가 대문자로 된 단어를 입력하도록 제안 합니다. 이것은 키보드에서 이동을 해제하여 사용자가 무시할 수 있습니다. 가장 좋은 방법은 코드에서 단어를 대문자로 쓰는 것입니다.

NSString *text = [myTextField.text capitalizedString];

이렇게하면 전체 문자열이 대문자로 표시되고 UITextAutocapitalizationTypeWords는 입력 된 각 단어의 첫 글자 만 대문자로 표시합니다.
Jacob

이것이 OP가 원하는 것은 아니지만 정말 유용하다는 것을 알았습니다! 어딘가에 NSString을 저장했는데 모두 대문자였습니다. ) 여러분 감사합니다 나는 (내가 목표 C가 모든 일을하자) 원래의 문자열로의 UITextField의 텍스트를 비교하기 위해 필요하고 권장 사항을 사용하여 내 사용자에게 상황을 설명하는 데에서 저를 저장
Septronic

7

예. InterfaceBuilder의 textField 속성 관리자에서 Capitalization 속성을 Words로 설정할 수 있습니다.


6

Obj-C에 대한 답변이 있습니다. 여기 Swift에 대한 답변이 있습니다.

textField.autocapitalizationType = UITextAutocapitalizationType.words

또는 더 짧은 방법

textField.autocapitalizationType = .words

.words 및 .allCharacters를 테스트했습니다. 시뮬레이터에서는 작동합니다. 연결된 iPhone X에서는 그렇지 않습니다. Xcode 10.1, iPhone 12.1.
거 헤이

1
설정-> 일반-> 자동 수정 / 자동 대문자 사용이 꺼져 있으면 작동하지 않습니다.
Sheetal Shinde

1

Storyboard 또는 .xib 파일에서도 그렇게 할 수 있습니다. 텍스트 필드를 선택하기 만하면 오른쪽에있는 속성 검사기에서 원하는 것을 선택할 수있는 대문자 섹션이 있습니다. 귀하의 경우 대문자 "단어"입니다.


0

Xamarin.ios / Monotouch에서 이것은 나를 위해 일했습니다.

textField.AutocapitalizationType = UITextAutocapitalizationType.Words;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.