2017-02-05 39 views
0

我正在尋找改變我的行視圖,當它成爲一個組行時,或者更具體地說,當它成爲卡在NSTableview頂部的組行。通知新的NSTableView組行

我想知道是否有通知或某些可以檢查的屬性。理想情況下,我希望做一些動畫,因爲它從一個視圖到另一個視圖的頂部範圍內。

我正在考慮跟蹤行視圖座標相對於剪輯視圖/滾動視圖的行......這是你會採取的方法嗎?

有什麼建議嗎?

回答

1

當它成爲一個組行

你期待的行是否改變是隨着時間的推移一組行?

我正在尋找改變我的行視圖[...]的外觀,當它成爲卡在NSTableview的頂部的組行。

有行視圖的-drawRect:方法考慮自己的floating財產和借鑑不同的基於其價值。您可能需要覆蓋-setFloating:二傳手以將行視圖標記爲需要顯示。

+0

嗨肯,感謝您的迴應。不,某些類型的行將始終是一個組行,但是當組行成爲位於tableview頂部的浮動行時,我感興趣。 我會研究你的建議。這似乎是一個開始的好地方。謝謝。 –

0

肯·托馬斯的建議只是我需要的建議。我想直接更改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") 
    } 
} 

允許根據需要我改變了看法。 Thankyou Ken