问题标签 [nsscrollview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1837 浏览

cocoa - 如何在 Cocoa 中自动滚动 NSTextView 以在窗口上垂直居中文本?

我正在使用 NSScrollView 内的 NSTextView 创建一个文本编辑器,并且希望在用户插入一些文本时自动滚动 textview,以便插入的文本垂直居中在窗口(或 textview)上。我发现这个示例代码滚动到滚动视图的顶部,但不能真正理解它是如何工作的。我已经搞砸了这段代码,但我的文本视图似乎只是在没有任何逻辑的情况下上下跳跃。谁能帮我?

0 投票
2 回答
563 浏览

cocoa - 如何在滚动视图中设置多个可扩展部分

我需要一个类似于 IB 的 Inspectors 的布局,其中有多个可扩展部分,由显示三角形扩展,所有这些都包含在滚动视图中。

如果只需要一个可扩展部分,我已经在那里了:我把可扩展部分放在一个 NSBox 中,给盒子和它上面的所有东西一个顶部支柱但没有底部支柱,并给它下面的所有东西一个底部支柱但没有顶部支撑。然后我设置了显示三角形的动作来显示/隐藏框并调整滚动视图的文档视图的框架大小。

但似乎没有办法为多个盒子设置支柱。关闭披露三角形会留下间隙,或者盒子会相互重叠。

我确实看过 NSOutlineView,但那是一张表格;它不能有像组合框和按钮这样的子视图。(或者也许可以,如果我制作自定义单元格,这是我还没有做过的事情——但我怀疑这些不适合全功能布局。)

有人可以指出我正确的方向吗?

0 投票
1 回答
246 浏览

objective-c - 如何将滚动输入传递到不同的视图

这个网站真的很棒。

这次我有一个简单的问题。我想将来自用户的任何滚动输入(可能是滚轮、触摸板等)传递给包含我自己的子视图的 NSScrollView。

目前,如果用户仅在 documentView 上滚动(在我的子视图框架之外),则滚动正常工作,但如果他们在光标位于子视图上时滚动,则不会发生任何事情。所以基本上我想让子视图识别滚动事件并将其传递回滚动视图。

任何帮助是极大的赞赏。

干杯。

编辑:这是我用来将子视图添加到 documentView 的代码.

然后,我使用刷新方法重新定位它们,因为内容大小会有所不同,所以我想要一个单独的方法。

0 投票
2 回答
174 浏览

objective-c - NSTableView 视觉问题

有人能告诉我是什么原因导致列中出现这个白色矩形吗?谢谢。 在此处输入图像描述

谢谢!

编辑:如果我调整该表列的大小,它就会消失。

0 投票
1 回答
831 浏览

objective-c - 调整 NSView 的大小以适应子视图

我很难让我的 PXListView 和 NSScrollView 设置正常工作。这是它的要点:

我有一个包含 2 个 PXListViews 的仪表板页面。其中一个从 Core Data 获取数据,另一个从 RSS Feed 获取数据。这两个都添加到超级视图和关联的控制器中(我有仪表板以外的模式,所以这是最有效的方法)。这个超级视图成为我的 NSScrollView 的文档视图。

除了基于 RSS 提要的列表视图之外,我可以让所有这些都很好地工作。我异步获取提要,这样它就不会占用 UI,一旦收到提要并填充列表视图,我就会自动调整其大小。这一切都很好,但是我需要调整仪表板视图的大小以使滚动条向上。所以我发送了一个通知,该通知导致我创建了一个 autosizeView 方法,但这一切都陷入了困境。

两个 ListView 开始重叠,顶部的内容最终出现在底部。下面的截图(红色是边界矩形,蓝色是每个子视图的框架)

这是在调用 autosizeView 之前:在此处输入图像描述

这是在调用它之后: 在此处输入图像描述

为了更好地衡量,如果我调整 PXListViews 的大小并且不调用 DashboardView 的 autosize 方法,这就是它的样子: 在此处输入图像描述

正如您所看到的,只要我不调用 autosizeViews 就可以正常工作,但是我没有让滚动条发生。这是我的 autosizeView 方法:

我猜这整件事与我调整 DashboardView 大小时坐标被弄乱有关,导致其子视图的起源出错。

任何帮助将不胜感激!!!

0 投票
1 回答
204 浏览

objective-c - 相当于 Cocoa 中的 UIScrollViewDelegate?

我正在实现一个自定义NSScroller类,我需要知道滚动视图何时滚动以及何时完成。/的UIScrollViewDelegate'sviewDidScroll等等价物是什么?NSScrollViewNSScroller

0 投票
1 回答
638 浏览

cocoa - CALayer 滚动视图减慢了许多项目

嘿,我在 NSScrollView 内的支持 NSView 的层中遇到了 CALayers 的性能问题。我有一个滚动视图,其中填充了一堆 CALayer 实例,将一个堆叠在下一个之上。现在我所做的就是在它们周围设置一个边框,这样我就可以看到它们。该层中没有其他内容。

在滚动视图中有大约 1500 个左右之前,性能似乎还不错。当我输入 1500 时,当我向下滚动列表时,性能非常好,直到我到达项目 1000 左右。然后应用程序突然开始挂起。这不是逐渐放缓,如果它刚刚达到其容量,这是我所期望的。这就像应用程序撞到了一堵砖墙。

当我在图层的绘制方法中调用 CGContextFillRect 时,减速发生在项目 300 附近。我假设这可能与视频卡内存已满或其他有关?当 CALayers 在我的滚动视图中离开屏幕时,我需要做些什么来释放它们的资源吗?

我注意到,如果我不在我的图层上设置需要显示,我可以在没有减速的情况下完成 1500 个项目。然而,这不是一个解决方案,因为我有一些必须在图层中执行的自定义绘图。我不确定这是否能解决问题,或者只是让它在层中显示更多的项目。理想情况下,我希望它可以在滚动视图中有数千个项目完全可扩展(当然是在合理范围内)。实际上,我应该期望能够以这种方式显示多少个这些空项目?

0 投票
3 回答
5604 浏览

objective-c - 如何设置 NSScroll 视图的默认位置?

我的应用程序中的 NSScrollview 有问题,因为它总是从窗口底部开始。怎么可能让它从顶部开始?

0 投票
1 回答
1171 浏览

cocoa - NSScrollView 作为图层支持的视图错误的子视图?

当我将 NSScrollView 设为 layer-backed view 的子视图时(例如,通过从 IB 中选择 NSTextView 或 NSTableView),我在滚动视图的文档视图中看到了奇怪的绘图行为。

为了说明,我在一个窗口中创建了一个带有 NSTextView 的简单项目。我写的唯一代码是为窗口的内容视图打开图层支持:

这是我在 textview 中输入时的结果。红色下划线没有正确排列:

http://mowglii.com/random/screenshot.png

此外,当我调整 textview 的大小时,文本和下划线抖动很多。当我使用 tableview(在滚动视图内)而不是 textview 时,我在调整大小时看到了相同的抖动。

知道发生了什么吗?

0 投票
1 回答
1015 浏览

objective-c - NSScrollview 与 NSGradient

我的应用程序中有一个 nsscroll 视图,我创建了一个 nsscrollview 的子类来添加一个 nsgradient 但它不起作用这是我在实现文件中的代码: