现在我将我的属性字符串绘制到单元格,这显然是不可点击的,但我不知道如何以任何其他方式添加它,因为NSCell不从NSVIEw继承.通常我只是添加一个NSTextFIEld作为子视图,但在这种情况下我不能这样做.
有什么想法吗?
解决方法 我能想到的唯一解决方案是通过NSCell内的手动命中测试和鼠标跟踪.最难的部分(我没有答案)是如何确定链接文本的矩形…希望有人可以回答这个问题?一旦知道url文本的rect,就可以通过实现hitTestForEvent来实现单击 *** 作.我想你会这样做的;
// If the event is a mouse down event and the point is insIDe the rect trigger the url - (NSUInteger)hitTestForEvent:(NSEvent *)event inRect:(NSRect)frame ofVIEw:(NSVIEw *)controlVIEw { NSPoint point = [controlVIEw convertPoint:[event locationInWindow] fromVIEw:nil];// Check that the point is over the url region if (NSPointInRect(point,urlFrame)) { // If event is mousedown activate url // Insert code here to activate url return NSCellHitTrackableArea; } else { return [super hitTestForEvent:event inRect:frame ofVIEw:controlVIEw]; }}总结
以上是内存溢出为你收集整理的objective-c – 自定义NSCell中的可点击链接全部内容,希望文章能够帮你解决objective-c – 自定义NSCell中的可点击链接所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)