gpt4 book ai didi

objective-c - 自定义 NSScrollers 具有来自核心动画的奇怪效果

转载 作者:行者123 更新时间:2023-12-03 17:07:46 25 4
gpt4 key购买 nike

我正在制作自定义 NSScrollers 以在 NSScrollView 中使用。但是当 NSScroller 的任何 super View 启用核心动画时。我发现这个绘图问题非常麻烦。每当我滚动到 ScrollView 的角落时,滚动条就会被剪辑。但是,如果滚动条开始在角落绘制,则滚动条部分将停留在该角落。什么可能导致这个问题?我有太多代码无法在这里展示。但这是我的绘图代码:

NSRect knobRect = [self rectForPart:NSScrollerKnob];

NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:knobRect
xRadius:CornerRadius
yRadius:CornerRadius];

[path setLineWidth:2];
[[NSColor colorWithDeviceRed:0.114 green:0.114 blue:0.114 alpha:0.3] set];
[path fill];
[[NSColor colorWithDeviceWhite:1.0
alpha:0.100] set];

// Clip drawing to this path; draw nothing outwith the path.
[path addClip];
[path stroke];

我已经尝试摆脱除填充之外的所有内容,但没有成功。如果我在调用 setFloatValue 时在 super View 上调用 setNeedsDisplay:YES,这个问题就会消失。

Clipping Issue http://idkz.org/b814ee5c875c9f44cc2d1345e4489420

最佳答案

看来问题的答案似乎是调用:
[self setArrowsPosition:NSScrollerArrowsNone];它神奇地起作用了:D

编辑,但是当我拖动滚动条时,我得到了类似的效果。 :'( 有没有办法在不重新绘制 ScrollView 本身的情况下清除图形?:(

关于objective-c - 自定义 NSScrollers 具有来自核心动画的奇怪效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3274869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com