gpt4 book ai didi

objective-c - NSRulerView,将垂直尺寸延伸到底部

转载 作者:行者123 更新时间:2023-12-03 16:35:20 24 4
gpt4 key购买 nike

我破解了 Apple 名为 Rulers 的示例项目,创建了一个简单的 NSView 子类,以显示垂直和水平标尺。它看起来像下面这样。

- (void)awakeFromNib {
NSScrollView *scrollView = [self enclosingScrollView];
if (!scrollView) return;
[scrollView setHasHorizontalRuler:YES];
[scrollView setHasVerticalRuler:YES];
[self setRulerOffsets];
[self updateRulers];
[scrollView setRulersVisible:YES];
return;
}

+ (void)initialize {
NSArray *upArray;
NSArray *downArray;
upArray = [NSArray arrayWithObjects:[NSNumber numberWithDouble:2.0], nil];
downArray = [NSArray arrayWithObjects:[NSNumber numberWithDouble:0.5],[NSNumber numberWithDouble:0.2],nil];
[NSRulerView registerUnitWithName:@"Grummets" abbreviation:NSLocalizedString(@"gt",@"Grummets abbreviation string") unitToPointsConversionFactor:100.0 stepUpCycle:upArray stepDownCycle:downArray];
return;
}

- (void)setRulerOffsets {
NSScrollView *scrollView = [self enclosingScrollView];
NSRulerView *horizRuler;
NSRulerView *vertRuler;
NSView *docView;
NSView *clientView;
NSPoint zero;
docView = [scrollView documentView];
clientView = self;
...
}

下图是我的。

enter image description here

我的问题是是否可以反转垂直测量值。目前,0 位于底部。是否可以设置从顶部开始,然后向下延伸到底部?

谢谢。

最佳答案

来自文档:

A vertical ruler takes into account whether the coordinate system of the NSScrollView’s document view—not the receiver’s client view—is flipped. A horizontal ruler is always flipped.

因此,您也许可以通过翻转文档 View 的坐标系来解决此问题(您可以覆盖 View 上的 isFlipped)。

祝你好运 - 这个 API 是 over 15 years old :)

关于objective-c - NSRulerView,将垂直尺寸延伸到底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32684750/

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