2

iOSでは、コンテンツがほとんどまたはまったくない場合に、UITextViewをスクロール可能にして、タッチに反応するようにするにはどうすればよいですか?

私のアプリでは、テキストがテキストビューでいっぱいになると、スクロールバーが表示され、スクロールできます。それよりも少なく、すべてのコンテンツがUITextViewのフレーム内にあるため、静的で移動しません。

私が欲しいのはiPhoneNotesアプリケーションのように機能し、テキストが1行であっても、メモが空の場合でも、ビューをスクロールできます。

現在、私はUITextViewのみを使用しており、UIScrollViewも必要かどうかを理解するのに苦労しています。

この問題に固有の質問を見つけることができませんでした。ありがとう!

4

3 に答える 3

13

将来このページに出くわす人のために:

alwaysBounceVerticalを有効にし、ユーザー操作とスクロールが有効になっていることを確認するだけで、これを実現できました。

self.textView.scrollEnabled = YES;
self.textView.userInteractionEnabled = YES;
self.textView.alwaysBounceVertical = YES;

Swift 3.0の場合:

    textView.alwaysBounceVertical = true
    textView.isUserInteractionEnabled = true
    textView.isScrollEnabled = true
于 2012-10-08T20:58:30.283 に答える
0

はい、UIScrollView から始める必要があります。次に、テキスト ビューを追加し、その自動サイズ設定プロパティを設定して、ビューを引き伸ばして塗りつぶします (互いに交差する 2 つの内側の矢印をそれぞれクリックします)。

テキストが更新されたら、textView のコンテンツ サイズに基づいてメイン ビューのサイズをリセットする必要があります。

CGRect frame = textView.frame;
frame.size.height = textView.contentSize.height;
self.view.frame = frame;

テキストが画面の下部に達したときにこれが機能するには、UITextView デリゲートの textViewDidChange: メソッドで呼び出す必要があります。機能するようになったら、キーを押すたびに起動しないようにするロジックを追加することをお勧めします。ビューフレームをリセットする前に、 contentSize.height が実際に増加していることを確認してください。

于 2012-05-09T20:22:59.270 に答える