NSCollectionView不会隐藏在osx中

时间:2015-08-20 07:31:49

标签: macos swift osx-yosemite nscollectionview

我在我的应用程序中使用了NSCollectionView。在某些情况下,我想隐藏和取消隐藏NSCollectionView。但它不会隐藏NSCollectionView

我使用了以下代码

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

注意:只是出于演示目的而暂停线程

同样隐藏NSScrollView无效。

编辑:我在Button Touch up Inside event上执行相同的代码,我得到了相同的结果。它不会隐藏我的CollectionView

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

    }

1 个答案:

答案 0 :(得分:0)

以下是您的代码出错的原因(主要是因为您未在问题中提供足够的信息):

  1. 在命名变量时使用小写字符串(因此将ThumbnailView更改为thumbnailView;
  2. 我不知道你在哪里写这段代码。是NSWindowControllerNSViewController还是NSWindow子类?根据位置,您应该用不同的方法(第windowDidLoad()viewDidLoad()awakeFromNib()
  3. 写第2到第4行

    更新:鉴于您的代码已在应用程序中完成启动并且您正在使用该方法,您将无法看到任何更改,因为您的应用程序窗口仅在方法已返回(即所有代码都已执行)。我建议你将这段代码移到NSWindowController' s windowDidLoad的子类中(我不确定那个)或NSViewController' s viewDidAppear:方法。