【发布时间】:2010-11-22 10:25:58
【问题描述】:
我在 NSScrollView 中有一个自定义 NSView。我正在尝试在 NSScrollView(或者 NSClipView)周围绘制一个焦点环,以便当我的自定义视图接收到拖放悬停时,滚动视图似乎获得焦点。我到底该怎么做?我不想继承 NSScrollView ... 是吗?
【问题讨论】:
标签: cocoa user-interface appkit nsscrollview
我在 NSScrollView 中有一个自定义 NSView。我正在尝试在 NSScrollView(或者 NSClipView)周围绘制一个焦点环,以便当我的自定义视图接收到拖放悬停时,滚动视图似乎获得焦点。我到底该怎么做?我不想继承 NSScrollView ... 是吗?
【问题讨论】:
标签: cocoa user-interface appkit nsscrollview
两种方法:
NSClipView 子类
子类 NSClipView 并在运行时将其换掉(非常简单)。子类将通过在其边界内绘制您想要的任何效果来响应 drop 验证方法。可能是一个 NSBezierPath,它带有一个由剪辑视图的 -bounds 组成的矩形。
文档视图
您的文档视图(滚动视图内的视图)向其 -enclosingScrollview 询问其 -documentVisibleRect 并在其自身上绘制一个矩形,就像上面的 NSClipView 子类方法一样(即,响应拖放验证的相同绘制方法方法被调用)。
【讨论】: