2013-03-26 19 views
9

Tôi cần lấy giá trị số của phần bắt đầu và kết thúc của một phạm vi UIText. Cho đến nay tôi chỉ có thể in ra các mô tả như một chuỗi.Mục tiêu C cách lấy giá trị số của một UITextPosition

Từ khi nhìn vào lựa chọnTextRange, tôi lấy nó rằng nó có thể là một cấu trúc? Làm thế nào để có được một yếu tố của một cấu trúc?

UITextRange *selectedRange = [myTextView selectedTextRange]; 

NSLog(@"selectedRange.start %@, selectedRange.end %@ ", selectedRange.start.description, selectedRange.end.description); 

Dưới đây là mô tả:

2013-03-26 13:44:03.127 AttributedString[24678:907] selectedRange.start <UITextPosition: 0x1ead8f10, 8, {"Rrrttgh "}, {"gggggh ggg..."}>, selectedRange.end <UITextPosition: 0x1eaf7860, 14, {"...tgh gggggh"}, {" gggg"}> 

Trả lời

5

Có một câu trả lời cho một câu hỏi tương tự ở đây: UITextPosition to NSRange.

Về cơ bản bạn gọi -offsetFromPosition:toPosition: trên đầu và cuối của UITextRange, với vị trí ban đầu là myTextView.beginningOfDocument.

5

Một UITextView phù hợp với UITextInput. Là một phần của giao thức này, nó phải thực hiện và xử lý các lớp con riêng của UITextRange và UITextPosition. Đây không phải là cấu trúc, nhưng đối tượng.

Bạn có thể nhận được vị trí số đơn giản bằng cách sử dụng offSetFromPosition:toPosition: và chuyển qua số beginningOfDocument để nhận vị trí bắt đầu. Tất cả các phương thức này sẽ được thực thi bởi UITextView. Bạn cũng có thể vượt qua ở đầu và cuối phạm vi để tìm ra độ dài của vùng chọn.

Tham chiếu giao thức đầy đủ here.

Các vấn đề liên quan