2010-12-10 16 views
12

Czy jest jakiś sposób to zrobić?iOS - UITextView wyłącza przewijanie, ale włącza dotykanie.

Tym, czego naprawdę chcę, jest UITextField, w którym mogę kontrolować położenie kursora. Ale o ile mogę powiedzieć, to jest niemożliwe. Więc patrzę na użycie UITextView. Dzięki temu można kontrolować lokalizację kursora. Ale przewijanie wchodzi w drogę - mój tekst przewija się tu i tam, a ja tego nie chcę.

Odpowiedz

9

Jeśli ustawię scrollEnabled na NIE i będę miał pustą implementację scrollRectToVisible: animated :, to wydaje się wyłączać przewijanie.

+0

Czy dotknięcia nie zostaną wyłączone również w tym przypadku? – gigahari

14

UITextView jest podklasą UIScrollView, dzięki czemu można uniknąć widoku z przewijania poprzez ustawienie właściwości scrollEnabled do NO.

+2

Problemem jest to, że powoduje wyłączenie dotknie. –

+0

Ahh w takim przypadku możesz ustawić następnego respondera w łańcuchu respondenta, aby obsługiwać zdarzenia dotykowe, a może lepiej - dołączać do niego UIGestureRecogizer? –

+1

Tego właśnie staram się uniknąć. . . –

8

Po prostu ustaw rozmiar treści UITextView na mniejszy lub równy jej zakres, co uniemożliwi przewijanie i nadal akceptuje zdarzenia dotykowe.

+1

To działało świetnie dla mnie. Stary ale jary. –

0

Swift 3

let textView = UITextView() 
textView.isScrollEnabled = false 
Powiązane problemy