问题标签 [nstextview]

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 投票
2 回答
496 浏览

objective-c - 如何在 Cocoa 文本输入系统中使用 Core Data?

业余爱好者 Cocoa 程序员在这里。一直在寻找所有常见的地方,但这似乎解释得相对不足:

  • 我正在写一些不寻常的东西。它比桌面发布应用程序简单得多,但也很相似。我想在画布上任意放置可编辑的文本框。

  • 这是基于文档的,我真的很想使用 Core Data。

现在,cocoa 文本处理系统似乎处理了一个四类结构:NSTextStorage、NSLayoutManager、NSTextContainer,最后是 NSTextView。我已经研究过这些并且知道如何使用它们,有点。一直在制作一些原型,它适用于简单的应用程序。

当我进入持久性时,问题就来了。我不知道如何通过 Cocoa Bindings 或其他方式将 NSTextStorage 的内容(=实际文本)存储在我的托管对象上下文中。

我考虑过在这些对象中覆盖方法对,例如 -words、-setWords:。这可以让我将单词链接到一个字符串,我知道如何将其存储在 Core Data 中。但是,我必须重写任何影响文本的方法——这似乎有点多。

感谢您的任何见解。

0 投票
2 回答
2014 浏览

cocoa - 设置 NSTextView 的字体

我正在继承 NSTextView 来设置它的默认字体:

PTNFoEditField.h

PTNFoEditField.m

但是,这不起作用,我不知道如何以不同的方式做到这一点。谁能帮我?谢谢。

0 投票
1 回答
3814 浏览

objective-c - 使用 NSTextView 伪造 NSTextField 以获得漂亮的颜色?

尝试更改 NSTextField 的选定文本背景颜色(我们有一个深色 UI,并且选定的文本背景与文本本身几乎相同),但似乎只有 NSTextView 允许我们更改它。

所以我们正在尝试使用 NSTextView 伪造 NSTextField,但无法让文本滚动工作相同。

我们得到的最接近的是这段代码:

几乎可以正常工作,除了如果文本比文本字段长,您不能以任何方式滚动到它。

任何想法如何做到这一点?

提前致谢

编辑:Joshua Nozzi下面建议的解决方案

感谢 Joshua,这是我正在寻找的一个很好的解决方案:

与其用 NSTextView 伪造它,不如说它只是一个 NSTextField,当它成为第一响应者时,它会改变选定的文本颜色。

编辑:在文本字段中按 Enter 后,上面的代码将恢复为默认选择颜色。这是避免这种情况的一种方法。

0 投票
4 回答
3661 浏览

objective-c - 使用 NSData 在 NSTextView 中设置文本

我有一个 NSData 的实例,它是从我的应用程序的先前运行中存储的。我想使用这些数据设置一个 NSTextView 的文本。它是 RTF,我不知道该怎么做。有什么想法或建议吗?它需要使用代码而不是 Interface Builder 来完成。

谢谢

0 投票
5 回答
9305 浏览

cocoa - 如何禁用 NSTextView 的自动换行?

NSTextView 默认会自动换行。我怎样才能禁用它?我正在制作一个 JSON 代码查看器,所以我必须禁用它。

0 投票
3 回答
3615 浏览

objective-c - NSTextView 插入换行符

我有一个 NSTextView,需要在其中插入换行符。代码如下所示:

有人知道怎么做吗?

0 投票
1 回答
276 浏览

cocoa - 创建带有可拖动文本元素的视图

我正在尝试为一种头脑风暴应用程序创建一个视图,例如 OmniGraffle,其元素包含文本视图并且可以拖动。(另外,应该可以用箭头连接,但这不是(还)问题)

我做了功课,通过谷歌搜索并阅读有关可可的书籍,但似乎没有类似的例子。由于我也是可可的新手,所以我在这里有点无奈。

我可以肯定的是,我需要一个自定义视图,我可以在其中创建我的元素 - 到目前为止我尝试这样做的是:

  • 首先,我搜索了将子窗口添加到窗口以创建我的元素的语法。我想象,子窗口会自动移动并出现在前面等等。
    问题:你们这些有经验的 Cocoa 程序员可能并不感到惊讶,我惊呆了,没有发现任何类似的东西 - 这似乎是一些东西,只是 Cocoa 不打算这样做?!

  • 然后我考虑创建子视图,其中包含标题栏绘图的自定义视图(用户可以单击以拖动元素)和NSTextView.
    问题:

    • 我读到,在一个窗口中创建数十个子视图并不是那么聪明,因为这会非常慢(或者在这种情况下不会那么糟糕,因为所有子视图都是同一个类的实例?)。
    • 此外,我不知道如何从 nib 或 xib 文件加载子视图。我需要一个视图控制器吗?或者这会使数十个实例的问题变得更糟?
    • 苹果告诉你不要重叠子视图(好吧,这不是那么重要,但我真的很想知道 OmniGroup 的人是如何制作 OmniGraffle 的......)

  • 正因为如此,我现在想在周围的自定义视图中绘制标题栏并以编程方式创建文本视图(据我所知,文本“视图”并不是真正的视图,而是从 NSCell 获取其功能以减少所有意见的努力?)。
    问题:

    • 即使这样也失败了,因为我无法创建一个不能填充整个窗口的文本视图(initWithFrame:只是[[NSScrollView alloc] initWithFrame: aRect] 似乎被忽略了,还是我弄错了?)。
    • 此外,最终应用程序中的每个元素上都应该有一些按钮。我想用每个元素的 nib 文件中的子视图来完成会更容易吗?

好吧,现在没有任何效果,而且我阅读的越多,似乎出现的问题就越多,我很困惑和沮丧。
我怎么能实现这样的程序?有人可以把我推向正确的方向吗?

0 投票
1 回答
1842 浏览

cocoa - 捕获 NSTextView 而不是 NSTextField 的 TextDidChange 或 DidEndEditing

似乎 NSTextView 没有通知 DidEndEditing 和 TextDidChange (两者都存在于 NSTextField 中)。我可以从 NSTextView 中获得任何类似的功能吗?如果不是,是否无法知道用户何时编辑了 NsTextView 的文本?

0 投票
2 回答
761 浏览

cocoa - 搜索具有自定义属性的 NSAttributedString 并删除它?如何?

我在 NSTextView 中有一个占位符字符串,一个空格字符,我想在将来删除它。我的策略是为 NSAttributedString 分配一个自定义属性并在[NSTextView string]删除它时执行搜索。到目前为止,除了通过[NSTextStorage attributeRuns]. 有人对此有好主意吗?

谢谢!

0 投票
1 回答
293 浏览

cocoa - 将 NSTextView 保存在 NSMutableArray 中并读取它

我的问题如下,

我有一个NSTextView并且我想做两件事:

  • 首先将此文本视图保存在一个中NSMutableArray,并在此数组中为其分配一个 X、Y 位置。

  • 其次,从 中获取此文本视图NSMutableArray并将其显示在我将其保存在数组中时设置的位置。

任何人都知道如何处理这些事情?