Как да разберете координатите на последния символ, добавен към UITextView в iPad

Искам да вмъкна UITextField между текста на UITextView, за да осигуря функционалност „попълване на празните места“. Знам, че UITextField не може да се добави към UITextView, така че искам да добавя UITextField към супер изгледа на UITextView, като поддържам място за тези UITextFields в UITextView.

Как мога да определя координатите на определен знак по отношение на произхода на UITextView? Рамката на textView и неговият супер изглед са еднакви. Може ли някой да ми каже как да направя това? Има ли някакъв друг начин за постигане на функционалност за попълване на празните места в абзац от текст?


person Hariprasad    schedule 16.03.2011    source източник


Отговори (1)


Може да можете да използвате UIStringDrawing добавки към класът NSString, за да ви помогне да намерите местоположението на знаците.

// characterIndex is the index of the character for which you are finding the position
NSString *string = [myTextView.text substringToIndex:characterIndex];
CGSize sizeOfString = [string sizeWithFont:myTextView.font constrainedToSize:myTextView.contentSize];

Ако знакът, който търсите, е на първия ред на текстовия изглед, sizeOfString ще ви даде координатите (изместени от височината на реда).

Ако знакът, който търсите, не е на първия ред, ще трябва итеративно да определите местоположението на всеки знак до знака, който търсите, като модифицирате подниза, за да премахнете предишни редове от текст всеки път, когато откриете края на линия. Можете да откриете края на ред, като забележите кога височината на sizeOfString се е променила между итерациите.

person Greg    schedule 16.03.2011
comment
Благодаря за отговора. Ще опитам и ще ви уведомя. - person Hariprasad; 16.03.2011