나는이 단어를 두드려 텍스트의 단어를 선택할 수있는 UITextView
을 가지고 있습니다. 탭한 경우 NSForegroundColor
특성을 변경하여 단어를 강조 표시합니다. 색상을 다시 텍스트 색상으로 변경하여 다시 선택 해제합니다.속성 문자열의 단어가 변경된 단어 가져 오기
이제 모든 선택된 단어를 UITextView
에 알아야합니다.
첫 번째 아이디어는 특수 문자 인 모든 것을 제거하고 공간에서 텍스트를 분할하는 것이 었습니다. 그런 다음 색상 속성이 각 단어의 강조/강조 표시 색상과 같은지 확인합니다. 그러나 속성이 지정된 문자열은 문자에서 분리하거나 구성 요소를 제거 할 수 없습니다. NSAttributedString
도 마찬가지입니다.
두 번째 아이디어는 강조 표시된 부분의 범위를 배열에 저장하고 반복하여 강조 표시된 부분을 얻는 것입니다. 그러나 이것은 나에게 너무 복잡해 보입니다. 특히 배열에 대한 보장이없는 단어의 올바른 순서가 필요하므로 각 탭에서 추가/제거하십시오 (예 : 텍스트의 경우 : "This is is :"This is is 테스트 "
Tap this -> index 0
Tap test -> index 1
Tap this -> test becomes index 0
Tap this -> this becomes index 1
다음 순서는 더 이상 좋지 않다.
나는 이미 의한 문자열의 색상을 얻는 방법을 알아 냈어. 즉, 문제가되지 않습니다.
내가 반복 할 수있는 방법 원인이있는 문자열과 색상이 바뀐 단어 또는이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
고마워요! 내가 선택한 범위의 저장의 어떤 종류를 만들기 위해 제안 할 수
인사말
감사합니다, 매력처럼 작동합니다! –