我假设,我将不得不覆盖NSTokenFIEldCell以获得彩色圆点或标签上的图标.但是这个d出列表如何工作?
谢谢你的帮助!
解决方法 可悲的是,你必须自己动手.几乎所有在NSTokenFIEldCell中进行的绘图都是私有的,因此添加任何类型的装饰元素都必须由您完成.如果我没记错的话,NSTokenFIEldCell使用NSTokenTextVIEw而不是窗口的标准字段编辑器.我不确定它有什么不同,但我认为这主要是为了处理“标记”属性字符串的特殊性质.我认为他们只是使用NSAttachmentCell对象作为图形标记,当单元格收到-mouseDown:事件时,它们会显示菜单.菜单部分实际上非常简单,因为您可以将图像添加到菜单项,如下所示:
NSMenuItem *redItem = [[NSMenuItem alloc] initWithTitle:@"Red" action:@selector(choosecolorMenuItem:) keyEquivalent:@""];// You Could add an image from your app's Resources folder:NSImage *redSwatchImage = [NSImage imagenamed:@"red-menu-item-swatch"];// ----- or -----// You Could dynamically draw a color swatch and use that as its image:NSImage *redSwatchImage = [NSImage imageWithSize:NSMakeSize(16.0,16.0) flipped:NO drawingHandler:^BOol(NSRect dstRect) { NSRect pathRect = NSInsetRect(dstRect,0.5,0.5); // Aligns border to integral values NSBezIErPath *path = [NSBezIErPath bezIErPathWithovalInRect:pathRect]; NScolor *fillcolor = [NScolor redcolor]; NScolor *strokecolor = [fillcolor shadowWithLevel:0.5]; [fillcolor setFill]; [path fill]; [strokecolor setstroke]; [path stroke]; return YES;}];redItem.image = redImage;
关于令牌绘图的东西,带上我的信息,因为Apple关于这些东西的文档非常缺乏,所以我告诉你的一切都来自于个人的挣扎,诅咒和头脑冲击.无论如何,对不起,我不能给你带来更好的消息,但我猜,它就是它的本质.祝好运.
总结以上是内存溢出为你收集整理的objective-c – 小牛队式标记全部内容,希望文章能够帮你解决objective-c – 小牛队式标记所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)