我正在制作自己的ScrollView。 这是我用于滚动鼠标滚轮或触摸板的代码 但它无法完美无缺。它有点滞后。
- (void) scrollWheel:(NSEvent *)theEvent
{
NSRect rect = [contentView frame];
rect.origin.x += [theEvent deltaX];
rect.origin.y += [theEvent deltaY];
[contentView setFrame:rect];
}
当我对图层(测试)做同样的事情时,效果会更好。
[CATransaction setDisableActions:YES];
[CATransaction begin];
[contentView layer].frame = newRect;
[CATransaction commit];
如何使setFrame完美无缺?
答案 0 :(得分:0)
我很努力,看看苹果在NSScrollView中是如何完成的。答案是他们制作高性能绘图 - 只有改变的部分,而不是通常所做的整个视图。
之后我决定自定义标准的scrollView和标准滚动条。