2015-08-20 1 views
0

J'ai utilisé NSCollectionView dans mon application. Dans certaines conditions, je veux cacher et afficher le NSCollectionView. Mais il ne va pas cacher le NSCollectionView.NSCollectionView ne se cache pas dans osx

J'ai utilisé le code suivant

@IBOutlet weak var thumbnailView: NSCollectionView! 
func applicationDidFinishLaunching(aNotification: NSNotification) { 
    thumbnailView.hidden = true 
    NSThread.sleepForTimeInterval(5) 
    thumbnailView.hidden = false 
} 

Note: Sommeil le fil juste pour les besoins de démonstration

Hiding De plus, le NSScrollView ne fonctionne pas.

EDIT: J'effectue le même code sur Button Touch up Inside event j'obtiens le même résultat. Il ne cache pas mon CollectionView.

@IBAction func ButtonnISClick(sender: AnyObject) { 
     thumbnailView.hidden = true 
     NSThread.sleepForTimeInterval(5) 
     thumbnailView.hidden = false 

    } 

Répondre

0

Voici les choses qui sont mal avec votre code (la plupart du temps parce que vous n'avez pas fourni assez d'informations dans votre question):

  1. Utilisez les chaînes en minuscules lorsque vous nommez des variables (donc changer ThumbnailView-thumbnailView;
  2. Je ne sais pas où vous écrivez ce code Est-ce NSWindowController, NSViewController ou NSWindow sous-classe? Selon l'emplacement, vous devez écrire 2ème à 4ème lignes de différentes méthodes (soit windowDidLoad(), viewDidLoad() ou awakeFromNib()

Mise à jour: Compte tenu de votre code est en application de ne lancement d'arrivée et vous dormez dans cette méthode, vous ne verrez aucun changement, depuis la fenêtre de votre application est présentée seulement après la méthode est revenu (ie tout le code a été exécuté). Je vous suggère de déplacer ce code dans une sous-classe de windowDidLoad de NSWindowController (je ne suis pas sûr de celui-là) ou NSViewController de la méthode viewDidAppear:.

+0

J'ai mis mon code dans func applicationDidFinishLaunching fonction –

+0

avez-vous connecté la prise? – Eimantas

+0

oui, je connecte le @IBOutlet –