TextKit: Exclusion Paths

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • TextKit: Exclusion Paths

    Hallo an alle,

    ich habe folgendes Problem. Ich möchte in einer iPad-App in einem UITextView exclusionPaths einfügen. In die Lücke sollen später Tokens (so wie die Namensfelder in der Mail-App). Im Moment habe ich dort UILabels. Den Anfang der exclusionPaths berechne ich so:

    Quellcode

    1. - (CGRect)frameOfTextRange {
    2. NSRange range = NSMakeRange(self.position, 1); //self.position ist der characterIndex
    3. UITextView* tv = self.textView;
    4. UITextPosition *beginning = tv.beginningOfDocument;
    5. UITextPosition *start = [tv positionFromPosition:beginning offset:range.location];
    6. UITextPosition *end = [tv positionFromPosition:start offset:range.length];
    7. UITextRange *textRange = [tv textRangeFromPosition:start toPosition:end];
    8. return [tv firstRectForRange:textRange];
    9. }
    Alles anzeigen


    Die Size des exclsuionPaths ergibt sich aus dem Inhalt und dem Font des Labels. Das funktioniert auch alles so weit; allerdings nur bis zum ersten Leerzeichen. Wenn ich als Text in self.textView "Hello World, this is a text." habe, dann kann self.position 0-4 sein und der exclusionPath ist mitten im Wort (so wie es sein soll). Sobald ich aber einen Index nach dem Leerzeichen wähle, dann ist der exclusionPath entweder vor "World" oder danach, aber nie mittendrin. Wenn ich einfach ein UIView mit farbigem Hintergrund über den Text lege, dann erscheint es immer an der richtigen Stelle..

    Hat jemand eine Idee, woran das liegen könnte? Ich meine, grundsätzlich ist es ja schon sinnvoll, dass der TextView die Umbrüche so wählt, dass der Ausschnitt keine Wörter auseinander reißt. In meinem Fall ist es allerdings nicht gewünscht..

    Ich bin über jede Hilfe dankbar.

    Gruß Alex