2010-07-18 5 views
0

Je crée une application pour quelqu'un, et je dois rendre ce NSTextView dans un NSScrollView non modifiable. Quoi que je fasse, je ne peux rien faire pour travailler. Il n'y a pas de case à cocher modifiable ou autorisant l'édition dans Interface Builder, donc je vais le faire par programmation. Jusqu'à présent, j'ai essayé les codes suivants.Définition d'un NSScrollView non modifiable - Architecture Xcode x86_64

[TextView setEditable:NO]; 
[TextView setEditable:FALSE]; 
[TextView.editable = NO]; 
[TextView.editable = FALSE]; 
[TextView editingNotAllowed]; 

et je ne peux rien faire pour travailler. Si quelqu'un pouvait m'aider, ce serait bien apprécié! Aussi, je fais ceci sous:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
} 

Merci pour toute aide à tous!

+1

Aucune case modifiable dans IB? J'en vois un. – JWWalker

+0

Ce n'est pas un NSTextView, c'est un "NSTextView dans un NSScrollView". –

+0

Alors? Vous pouvez toujours sélectionner NSTextView et définir ses attributs. – JWWalker

Répondre

1

Avez-vous regardé les méthodes déléguées à NSTextView? (spécifiquement NSTextDelegate)

Si vous implémentez textShouldBeginEditing: et renvoyez NO, il ne doit pas être modifié.

http://developer.apple.com/mac/library/documentation/Cocoa/Reference/NSTextDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/NSTextDelegate/textShouldBeginEditing:

+0

Non, cela ne fonctionne toujours pas ... = ( –

+0

Où votre TextView est-il instancié? Pouvez-vous confirmer si la méthode déléguée est même appelée? – makdad

Questions connexes