NSCollectionViewSectionHeaderView

时间:2017-01-02 21:15:23

标签: cocoa swift3

来自https://developer.apple.com/reference/appkit/nscollectionviewsectionheaderview/1644266-sectioncollapsebutton

  

为获得最佳用户体验,请将此属性设置为该按钮   让用户控制折叠部分以便集合   视图可以根据是否适当地显示和隐藏按钮   部分的项目可以显示在可用空间中。该   集合视图使用其toggleSectionCollapse(_ :)属性进行访问   这个按钮。

不确定如何设置此按钮。这是我的班级:

import Cocoa

class HeaderView: NSView, NSCollectionViewSectionHeaderView, NSCollectionViewElement {

@IBOutlet weak var collapseButton: NSButton!
...
}

如果我尝试:

var sectionCollapseButton: NSButton?{
    return collapseButton
}

然后我收到警告:

  

Var'sectionCollapseButton'几乎匹配可选要求   协议的'sectionCollapseButton'   'NSCollectionViewSectionHeaderView'

这样做也是不可能的:

override func awakeFromNib() {
    sectionCollapseButton = collapseButton

    super.awakeFromNib()

    self.sectionCollapseButton = collapseButton
}

使用IB连接它也是不可能的,因为没有这样的引用插座。

1 个答案:

答案 0 :(得分:0)

从IB连接按钮时,只需将插座命名为sectionCollapseButton而不是collapseButton,并确保Xcode插入的声明与NSCollectionViewSectionHeaderView中的签名匹配:

@IBOutlet unowned(unsafe) optional var sectionCollapseButton: NSButton?