有了一个NSTableView我可以订阅NSTableViewColumnDidResizeNotification
得到一个列的事件被调整:列大小调整完成后的NSTableView通知?
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(tableColumnsResized)
name: NSTableViewColumnDidResizeNotification
object: dataTableView];
不过,我希望只得到一个通知,一旦大小调整已经完成(这样我就可以节省一些细节)。如果我在每个通知中都运行代码,那么调整列大小会造成一些结局。这就是为什么我只想在调整大小完成时才会收到通知。
任何建议如何我可以做到这一点?
根据文档:'NSTableViewColumnDidResizeNotification'应该已经做到了你想要的:“每当列在NSTableView对象中调整大小时发布”。 – trojanfoe 2013-02-14 12:49:19
它目前发布每个移动像素的通知。我想只在完成时才会收到通知。 – Kyle 2013-02-14 12:50:53
不知道2013年的情况如何,但是今天NSTableViewColumnDidResizeNotification只有在调整大小后才会触发。被接受的答案是可怕的btw ...即使在2013年每次鼠标拖动事件都错误地发送了通知,即使鼠标按钮没有被释放,接受的解决方案也会在鼠标停止移动0.5秒后计算出来,所以拖动还没有真正完成。 – 2016-01-27 00:04:26