自定义单元格内NSPopUpButtonCell点击时不会弹出
-
06-09-2019 - |
题
我已经创建的NSCell的定制子类与NSImageCell,一些NSTextFieldCells和NSPopUpButtonCell。
我使用初始化弹出细胞:
myPopUpCell = [[NSPopUpButtonCell alloc] init];
[myPopUpCell setBordered:NO];
[myPopUpCell setAutoenablesItems:NO];
[myPopUpCell addItemsWithTitles:[NSArray arrayWithObjects:@"Item1", @"Item2", @"Item3"]];
和在drawInteriorWithFrame:inView:
绘制它
一切似乎除了以弹出电池点击运行时我的应用程序时,细胞不弹出来工作的伟大。什么可能是错的任何建议?
解决方案
图纸中drawInteriorWithFrame:inView:
弹出按钮细胞是要做到这一点;画出来,但没有别的。处理单击事件无关的绘图,所以你将不得不做你的自定义单元格的一些工作来解释鼠标事件,如果他们是你使用的弹出按钮的框架内,在将它们传递到钮扣电池。通过继承下跟踪鼠标在文档的NSCell列出的方法,如–trackMouse:inRect:ofView:untilMouseUp:
开始,你应该能够找出正确使按钮细胞行为所需的内容。
根据你在做什么,你实际上可能会发现很容易给自己绘制标题字符串,只需使用NSMenu的+popUpContextMenu:withEvent:forView:
。
不隶属于 StackOverflow