我目前正在使用Cocoa和Objective-C制作一个简单的文本编辑程序,我尝试使用任何类型的滚动一次滚动一行。
我可以通过将setLineScroll
参数设置为NSScrollView的当前行高来使其仅滚动一行。这仅在您按滚动条上的箭头时控制它。我想强制它只用箭头和滚轮/跟踪垫手势一次滚动一行。
如果我将NSScrollView子类化,我可以使用NSScrollView的moveUp和moveDown方法来控制它吗?
谢谢
答案 0 :(得分:1)
您可以覆盖
- (void)scrollWheel:(NSEvent *)theEvent
,计算行高,就像你为setLineScroll方法所做的那样,并手动滚动到新的滚动位置。
你可能需要这样的东西
NSPoint currentPoint=[[scrollView contentView] bounds].origin;
currentPoint.y += _lineHeight
[[scrollView documentView] scrollPoint:currentPoint];
标志将取决于移动的方向。