web-dev-qa-db-fra.com

Modifier le texte d'un NSTextView par programme

Je ne trouve aucun paramètre qui semble être lié à la valeur de texte affichée dans une variable NSTextView. J'ai compris qu'une NSTextView utilise une structure complexe (avec NSLayoutManager etc ...), mais je ne trouve pas de moyen valide pour modifier la valeur actuelle de text.

18
MatterGoal

La bonne méthode est "setString" [textView setString:@"the string"];

23
MatterGoal

Définition du texte sur le texte de sortieView Swift Xcode 8.0

textView.string = newString
13
Peter Ahlberg

Quelque chose comme ça:

[textView setString:@"new value"];
4
Ramy Al Zuhouri

Si vous voulez définir un texte attribué (texte formaté), essayez

[myTextView setAttributedString:(NSAttributedString*)attrString].

NSTextView contient un objet NSTextStorage qui contient le texte ...

2
Duncan Groenewald

Objective C / Xcode 9

[myTextView setString:@"The string"];
self.myTextView.string = @"My String";

Swift / Xcode 9

self.myTextView.setString("MyString")
self.myTextView.string = "My String"
2
Ivan Kholod

Presque là - le programme est en dessous - cela fonctionne presque. Il y a deux problèmes en suspens:

1) Il faut deux clics de souris pour définir le bon point de sélection dans le texte, le premier va toujours à la fin du texte. La seconde au nécessaire
position

2) Une erreur étrange est imprimée dans Shell - Échec d'assertion dans - [LUPresenter animationControllerForTerm: atLocation: options:], /SourceCache/Lookup-160/Framework/Classes/LUPresenter.m:

  import Cocoa


  class MyAppDelegate: NSObject, NSApplicationDelegate {

      let window = NSWindow()


      func applicationDidFinishLaunching(aNotification: NSNotification) {

          window.setContentSize(NSSize(width:600, height:200))
          window.styleMask = NSTitledWindowMask | NSClosableWindowMask |
                             NSMiniaturizableWindowMask |
                             NSResizableWindowMask





          window.opaque = false
          window.center();
          window.title = "My window"

          let ed = NSTextView(frame: NSMakeRect(20, 10, 180, 160))
          ed.font = NSFont(name:"Helvetica Bold", size:20)
          ed.string = "edit me"
          ed.editable = true
          ed.selectable = true

          window.contentView!.addSubview(ed)

          window.makeKeyAndOrderFront(window)
          window.level = 1
      }

      func applicationWillTerminate(aNotification: NSNotification) {
          // Insert code here to tear down your application
      }

  }

  let app = NSApplication.sharedApplication()
  app.setActivationPolicy(.Regular)

  let obj = MyAppDelegate()

  app.delegate = obj
  app.run()
0
ja.