2010-12-03 11 views
6

Es könnte eine dumme Frage sein. Ich versuche, die linken/rechten Ränder wie das beigefügte Bild einzustellen. Es ist mir gelungen, es zu implementieren, indem ich UITextView zu UIScrollView hinzufüge. Mit UITextView konnte ich jedoch fast alles erreichen, was ich will. Wenn ich beispielsweise mit UIScrollView den Text von UITextView manuell ändere, scrollt er automatisch nach unten, unabhängig davon, ob er .scrollEnabled auf Nein setzt. Es wäre perfekt, wenn außerhalb von UITextView ein Bildlaufanzeiger von UITextView erscheint. In dem angehängten Bild, sagen wir, das rote Feld repräsentiert die gesamte UITextView. Ich habe versucht, die scrollIndicatorInsets-Eigenschaft von UITextView zu ändern, aber ein Scrollindikator kann nur nach innen verschoben werden, um sichtbar zu sein.Gibt es eine Möglichkeit, den Bildlaufanzeiger von UITextView außerhalb von UITextView zu platzieren?

Mehrere Apps wie Pages, aWriter, Plaintext erreichen diese Funktion. Können Sie einen Vorschlag machen?

Vielen Dank!

I alt text

Antwort

17

Sie das Stellrad rechts Inset Wert des UITextView zu negativem Wert einstellen und die Clip subview Option deaktivieren Sie benötigen zu erreichen. Kein anderer Scrollview wird benötigt. alt text

+0

Es funktioniert perfekt !! Ich habe ein paar Tage gegoogelt und die Art und Weise ausgewählt, wie UITextView als Subview zu UIScrollView hinzugefügt wurde, um dies zu erreichen. Dieser ineffiziente Weg bringt mich dazu, viel Zeit in Anspruch zu nehmen, um eine klare Beziehung zwischen UITextView und UIScrollView zu korrigieren. Ich danke dir sehr!! – pnmn

+9

Im Code wäre dies 'textView.clipsToBounds = NO; textView.scrollIndicatorInsets = UIEdgeInsetsMake (0.0f, 0.0f, 0.0f, -50.0f); ' – azdev

2

Alternativ können Sie die richtige contentInset-Eigenschaft festlegen.

+2

Dadurch wird das horizontale Scrollen aktiviert. Nicht empfohlen. – WaiLam

+0

logsTableView.alwaysBounceHorizontal = NO; werde dies verhindern – blackjacx

1
UIEdgeInsets insets = textView.scrollIndicatorInsets; 
insets.right += 5; //add what ever is your margain 
textView.scrollIndicatorInsets = insets;