当我的行视图变成组行时,或者更具体地说,当它变成卡在 NSTableview 顶部的组行时,我希望改变它的外观。
我想知道是否有可以检查的通知或某些属性。理想情况下,我想做某种动画,因为它从一个视图到下一个视图的顶部范围内。
我正在考虑跟踪与剪辑视图/滚动视图相关的行视图坐标...您会采用这种方法吗?
有什么建议么?
当我的行视图变成组行时,或者更具体地说,当它变成卡在 NSTableview 顶部的组行时,我希望改变它的外观。
我想知道是否有可以检查的通知或某些属性。理想情况下,我想做某种动画,因为它从一个视图到下一个视图的顶部范围内。
我正在考虑跟踪与剪辑视图/滚动视图相关的行视图坐标...您会采用这种方法吗?
有什么建议么?
当它变成一个组行时
您是否期望一行随着时间的推移而改变它是否是组行?
当我的行视图变成卡在 NSTableview 顶部的组行时,我希望改变它的外观。
让行视图的-drawRect:
方法查询它自己的floating
属性并根据其值进行不同的绘制。您可能还需要覆盖-setFloating:
设置器以将您的行视图标记为需要显示。
Ken Thomases 的建议正是我需要的建议。我想直接更改 NSTableCellView,所以我从那里调用了以下方法,但您也可以直接从自定义 NSTableRowView 调用它。
从自定义 NSTableCellView:
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
if let rowView = self.superview as? NSTableRowView, rowView.isFloating == true {
Swift.print("Row is Floating")
}
}
从自定义 NSTableRowView:
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
if self.isFloating == true {
Swift.print("Row is Floating")
}
}
允许我根据需要更改视图。谢谢你肯