web-dev-qa-db-fra.com

Rendre une UITextView non éditable par l'utilisateur

J'ai créé cette UITextView et tout est parfait sauf le fait que lorsque l'utilisateur appuie dessus, le clavier s'ouvre. Comment puis-je désactiver cette option "édition (?)"?
Voici le code:

- (void)loadAboutStable {
UITextView *aboutStable = [[UITextView alloc] init];
[aboutStable setText:@"Please check Your network connection"];
[self addSubview:aboutStable];}
24
Val Kalinic

[aboutStable setUserInteractionEnabled:NO] devrait le faire

et si vous avez encore besoin de faire défiler:

aboutStable.editable = NO;
66
James Webster
aboutStable.editable = NO;

devrait marcher

19
Jacob

Vous pouvez aussi le faire avec XIB en cochant la case Décocher ou éditable comme indiqué dans l'écran ci-dessous:  enter image description here

et aussi le faire par code:

textViewObject.editable = NO;
4
Alok

Sélectionnez le UITextView dans le storyboard

Choisissez le Inspecteur de propriétés et sous le Comportement section décochez " Modifiable "

---- Xcode version 5.0

4
user2911225
yourTextView.editable = NO;

Cela rendra votre texte non éditable. Il peut être appelé de n'importe où si vous avez créé la propriété de votre texte en fichier .h comme ceci

@property (nonatomic, strong) UITextView *youTextView;
4
iOmi

Version Swift 4:

aboutStable.isEditable = false
1
Isaac Bosca

Swift 2.0 & XCODE 7.0 exemple de solution fourni par @James Webster

  1. Dans Main.storyboard (par défaut), sélectionnez votre TextView
  2. Aller à l'inspecteur d'attributs du TextView
  3. Décocher "Interaction utilisateur activée"

 IDE example

1
Patch92

Dans Swift 2.0, il doit être faux, pas NON.

theClues.selectable = false

J'ai eu du mal à faire en sorte que mes indices apparaissent en lettres blanches, sauf si j'ai coché le bouton de sélection sur le storyboard pour l'affichage du texte. Cependant, laisser l'option "Sélectionnable" cochée et l'ajout de la ligne ci-dessus fonctionne.

0
Mountain Man

vraiment détruire toute interactivité;) 

descriptionText.isSelectable = false;
descriptionText.isEditable = false;
0
andehlu