2014-06-16 5 views
0

NSMutableAttributedString에 문자열을 편집 할 때 사라질 속성을 설정하는 방법이 있는지 궁금합니다. 예를 들어, iOS 기기에 잘못된 텍스트를 입력하면 빨간색 점선으로 밑줄이 그 어지는 이유를 알 수 있습니다 (예 : "dogg"). 이 예에서 단어가 이제 "개"가되도록 마지막 "g"를 제거하면 올바른 영어 단어이므로 빨간색 점선 밑줄이 사라집니다. 사용자 정의 UITextField로이 동작을 어떻게 복제 할 수 있습니까? 현재 NSMutableAttributedString을 사용하여 사용자 정의 문자열의 일부를 밑줄을 긋지 만 문제는 사용자가 다시 돌아가서 텍스트를 추가하여 밑줄이 그어진 부분의 중간 부분과 입력 한 새 텍스트가 밑줄을 얻을 수 있다는 것입니다. 위의 예에서 빨간색 밑줄처럼 내 문자열의 일부에 밑줄이 표시되기를 원하지만 문자열의 밑줄이 표시된 부분을 편집 할 때 밑줄을 치우고 싶습니다.문자열 편집시 제거되는 NSMutableAttributedString의 임시 속성

어떻게하면됩니까?

또한 본인은 탈옥을위한 조정이므로 개인 API를 사용하는 데 전적으로 열려 있습니다.

감사합니다.

답변

0

두 가지 생각.

먼저 문자열을 변경할 필요가 없습니다. 속성 문자열 만 있으면 텍스트 입력란 (또는 다른 컨트롤)이 사용자 입력 또는 기타 문자열을 기반으로 문자열 업데이트/바꾸기를 처리합니다. 이벤트. UITextFieldDelegate에서

, 당신은 일반적으로 원하는 TextField를 사용하려면 : shouldChangeCharactersInRange : replacementString을 : ... 다음, 언제든지 사용자의 변경 "독"을 "개"또는 무엇을, 당신은 무엇을 결정하기 위해 논리를 재 처리 할 수 ​​있습니다 보여줄 속성.