objective-c – 小牛队式标记

objective-c – 小牛队式标记,第1张

概述我对 cocoa很陌生,我正试图找出如何在Mavericks中创建类似于新标记UI的东西: 我假设,我将不得不覆盖NSTokenFieldCell以获得彩色圆点或标签上的图标.但是这个d出列表如何工作? 谢谢你的帮助! 可悲的是,你必须自己动手.几乎所有在NSTokenFieldCell中进行的绘图都是私有的,因此添加任何类型的装饰元素都必须由您完成.如果我没记错的话,NSTokenFieldCe 我对 cocoa很陌生,我正试图找出如何在Mavericks中创建类似于新标记UI的东西:

我假设,我将不得不覆盖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 – 小牛队式标记所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1016318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存