gpt4 book ai didi

objective-c - 如何使用NSScrollview?

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

我不知道如何实际使用NSScrollview。我将 ScrollView 对象拖到界面生成器中的 NSWindow 上。然后我将一些 NSButtons 拖到 ScrollView 上。我的问题是:

如何实际使其向下滚动,例如,滚动到原始高度的 2 倍?

最佳答案

当然,用户可以使用其 UI 自动滚动。我假设您想要做的是以编程方式滚动。

一些背景知识:NSScrollView有一个documentView,它是 ScrollView 显示一部分的基础 View ,还有一个clipView code>,这是屏幕上显示的 View 。因此,剪辑 View 就像文档 View 的一个窗口。要以编程方式滚动,您可以告诉文档 View 在剪辑 View 中自行滚动。

关于如何以编程方式滚动,您有两种选择:

  • - (void)scrollPoint:(NSPoint)aPoint –– 这会滚动文档,以便给定点位于包含它的剪辑 View 的原点。
  • - (BOOL)scrollRectToVisible:(NSRect)aRect –– 这会将文档滚动最小距离,以便整个矩形可见。注意:这可能根本不需要滚动,在这种情况下它会返回 NO。

例如,这是来自 Apple 的 Scroll View Programming Guide 的示例关于如何滚动到文档 View 的底部。假设您有一个名为 scrollViewIBOutlet 连接到 nib 文件中的 NSScrollView,您可以执行以下操作:

- (void)scrollToBottom
{
NSPoint newScrollOrigin;

if ([[scrollview documentView] isFlipped]) {
newScrollOrigin = NSMakePoint(0.0,NSMaxY([[scrollview documentView] frame])
-NSHeight([[scrollview contentView] bounds]));
} else {
newScrollOrigin = NSMakePoint(0.0,0.0);
}
[[scrollview documentView] scrollPoint:newScrollOrigin];
}

关于objective-c - 如何使用NSScrollview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11613200/

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