텍스트 필드의 UITextRange 객체를 통해 UITextField의 현재 캐럿 위치에 접근 할 수있는 방법이 있습니까? UITextField는 UITextRange를 사용하더라도 반환합니까? UITextPosition의 공용 인터페이스에는 보이는 멤버가 없습니다.UITextField의 UITextPosition
15
A
답변
20
나는 지난 밤에 같은 문제에 직면했다. UITextField에서 offsetFromPosition을 사용하여 선택한 범위의 "시작점"을 상대 위치로 가져와야합니다.
이 텍스트 필드를 변경 한 후 사용자의 위치를 복원 쉬웠다로
// Get the selected text range
UITextRange *selectedRange = [self selectedTextRange];
//Calculate the existing position, relative to the beginning of the field
int pos = [self offsetFromPosition:self.beginningOfDocument
toPosition:selectedRange.start];
은 내가 endOfDocument를 사용하여 끝났다. 나는 여기에 블로그 게시물을 작성 :
http://neofight.wordpress.com/2012/04/01/finding-the-cursor-position-in-a-uitextfield/
12
나는의 UITextField에 대한 범주를 사용 setSelectedRange 및 selectedRange (단지 uitextview 클래스에서 구현 방법 등)을 구현했습니다. B2Cloud here의 코드 예는 다음과 같습니다.
@interface UITextField (Selection)
- (NSRange) selectedRange;
- (void) setSelectedRange:(NSRange) range;
@end
@implementation UITextField (Selection)
- (NSRange) selectedRange
{
UITextPosition* beginning = self.beginningOfDocument;
UITextRange* selectedRange = self.selectedTextRange;
UITextPosition* selectionStart = selectedRange.start;
UITextPosition* selectionEnd = selectedRange.end;
const NSInteger location = [self offsetFromPosition:beginning toPosition:selectionStart];
const NSInteger length = [self offsetFromPosition:selectionStart toPosition:selectionEnd];
return NSMakeRange(location, length);
}
- (void) setSelectedRange:(NSRange) range
{
UITextPosition* beginning = self.beginningOfDocument;
UITextPosition* startPosition = [self positionFromPosition:beginning offset:range.location];
UITextPosition* endPosition = [self positionFromPosition:beginning offset:range.location + range.length];
UITextRange* selectionRange = [self textRangeFromPosition:startPosition toPosition:endPosition];
[self setSelectedTextRange:selectionRange];
}
@end
+0
고마워요. 당신의 코드는'UITextPosition'과'UITextView'를 어떻게 사용할 수 있는지 알아 내는데 도움이되었습니다. – derpoliuk
관련 문제
- 1. UITextfield의 취소 버튼
- 2. UITextField의 touchesBegan 구현
- 3. UITextField의 항목 제한
- 4. UITextField의 값을 NSLog에 인쇄합니다.
- 5. UITableViewCell의 UITextField의 원점 값
- 6. uitextfield의 사용자 지정 테두리
- 7. UITextField의 서브 클래스
- 8. uitextfield의 커서 위치
- 9. UITextField의 drawTextInRect이 호출되지 않았습니다.
- 10. UITextField의 인스턴스를 비교하는 방법
- 11. 해독 UITextField의 문자 수
- 12. UITextField의 내용을 NSString
- 13. 왜 UITextField의 창이 nil입니까?
- 14. UITextField의 가운데 공백을 피하십시오
- 15. iPhone - UITextField의 중국어와 일본어
- 16. UITextField의 기준선을 변경하는 방법은 무엇입니까?
- 17. UITextField의 커서 위치에 문자열 삽입
- 18. 버튼 동작이없는 여러 UITextfield의 합계
- 19. UITextField의 클리어 버튼 모범 사례
- 20. UITextfield의 보안 암호 문자 변경
- 21. Howto UITextField의 drawTextInRect : 메서드를 사용합니다.
- 22. UITextField의 값을 NSNumber로 변환하려면 어떻게해야합니까?
- 23. 프로그래밍 방식으로 UITextField의 숫자 비교
- 24. 검색 반환 키가있는 UITextField의 resignFirstResponder
- 25. UITextField의 번호를 사용하여 전화 걸기
- 26. UITextField의 기본 터치 이벤트를 변경하십시오.
- 27. UITextField의 텍스트를 선택하는 방법 Progamatically
- 28. UITextField의 텍스트와 UITableView의 목록 일치
- 29. 애니메이션을 사용하여 UITextField의 키보드를 변경하십시오.
- 30. Interface Builder에서 UITextField의 leftView를 수행하는 방법은 무엇입니까?
의심되는 악성 코드 사이트로 연결되는 링크입니다. 그것을 확인하십시오 –