web-dev-qa-db-ja.com

UITextViewを編集不可にし、キーボードを表示させたくない方法

UITextViewには、読み取り専用のテキストがあり、ユーザーとの対話は一切必要ありません。つまり、テキストを編集したり、キーボードを表示したりする必要はありません。 UITextViewをスクロール可能にしたい。

現在、スクロールできず、コンテンツが編集可能で、キーボードが表示され、境界線の下の壁が表示されていません。誰かがこの問題で私を助けることができれば。とても感謝します。

前もって感謝します。

20
user1120133

editable/isEditable プロパティをNO/falseに設定します。

スウィフト3、4:

textView.isEditable = false

スウィフト1、2:

textView.editable = false

Objective-C:

textView.editable = NO;
34
Jason
textView.editable = NO;

ドキュメント に記載されています。

そして、スクロールについて。コンテンツサイズがUITextViewのフレームサイズを超えると、UITextViewがスクロールします。

12
Sid
textview.editable = false // for Swift language
textview.selectable = false //

// override textview delegates
func textViewShouldBeginEditing(textView: UITextView) -> Bool {
    return false
}

ストーリーボードを使用して動作を設定することもできます。下の画像のように「編集可能」のチェックを外してください

enter image description here

1
sarah

更新Swift 3+

editableselectableisEditableisSelectableに名前が変更されました

textView.isEditable = false
textView.isSelectable = false

レシーバーが編集可能かどうかを示すブール値。このプロパティのデフォルト値はtrueです。

 var isEditable: Bool { get set }

受信者が選択可能かどうかを示すブール値。このプロパティは、コンテンツを選択し、URLやテキストの添付ファイルを操作するユーザーの機能を制御します。デフォルト値はtrueです。

 var isSelectable: Bool { get set }
0
Mick