标签: nstextview

NSTextView不可编辑的文本区域?

我有一个NSTextView包含供用户编辑的数据,但我想用不可编辑数据的页眉和页脚包围它,以便让用户了解上下文.

我不认为NSTextView可以处理混合可编辑/不可编辑数据的概念,所以我想出了一些想法.

a)使用带有自定义单元格的文本附件来绘制页眉和页脚.

b)内有3 NSTextViewNSScrollView.

c)使用属性来确定无法编辑的内容,并使用委托方法来防止编辑,这可能是我最喜欢的,因为它可能是最不具侵入性的.

我错过了什么,有什么更好的想法吗?

cocoa nstextview

3
推荐指数
1
解决办法
1911
查看次数

NSTextView:加载RTF,在鼠标移动到控件上之前,视图无法正确更新

我有一个非常简单的窗口,其中包含一个NSTextView.我正在调用readRTFDFromFile:在磁盘上加载并显示rtf文件.我是在awakeFromNib处理程序中调用它的.当视图出现在屏幕上时,它仅部分显示rtf的内容,视图的按钮部分为空白/白色.

但是,当鼠标移动到控件上时,rtf的其余部分将被正确渲染,填充以前的空白区域.

关于为什么会这样,我有点不知所措.有任何想法吗?

macos cocoa nstextview

3
推荐指数
1
解决办法
1673
查看次数

NSTextView提取原始文本内容

我想为NSTextField找到相当于[fieldName stringValue]的东西,但是对于NSTextView.我的理解是NSTextField不存在stringValue属性,因为该字段支持更丰富的文本.

尽管有很多谷歌搜索,我无法弄清楚如何获取NSTextView的原始文本内容.我使用NSTextView而不是NSTextField的唯一原因是我可以使用滚动条...

绝对是一个新问题!

提前致谢.

macos objective-c nstextview

3
推荐指数
1
解决办法
2611
查看次数

来自NSTextView中的字符的NSPoint/NSRect

因此,我试图获得与NSTextView中特定字符的位置相对应的NSPoint或NSRect.这就是我到目前为止所做的(效果不佳,结果似乎有些不可预测.

NSRange theTextRange = [[theTextView layoutManager] glyphRangeForCharacterRange:[theTextStorage editedRange] actualCharacterRange:NULL];
NSRect theTextRect = [[theTextView layoutManager] boundingRectForGlyphRange:theTextRange inTextContainer:[theTextView textContainer]];
Run Code Online (Sandbox Code Playgroud)

cocoa nstextview

3
推荐指数
1
解决办法
1385
查看次数

Cocoa Text - 即时刷新文本

在我正在处理的应用程序中,用户输入纯文本,应用程序通过将文本转换为NSAttributedString来重新格式化文本,并显示它.一切都发生了.

目前,我在NSTextView的textDidChange委托方法上执行以下操作:

- (void)textDidChange:(NSNotification *)notification {

    // saving the cursor position
    NSInteger insertionPoint = [[[self.mainTextView selectedRanges] objectAtIndex:0] rangeValue].location;

    // this grabs the text view's contact as plain text
    [self updateContentFromTextView];

    // this creates an attributed strings and displays it
    [self updateTextViewFromContent];

    // resetting the cursor position
    self.mainTextView.selectedRange = NSMakeRange(insertionPoint, 0);
}
Run Code Online (Sandbox Code Playgroud)

虽然这主要起作用,但并不理想.文本似乎瞬间闪烁(你特别注意拼写错误下的红点),当光标先前接近可见矩形的一个边缘时,滚动位置会重置.就我而言,这是一个非常不受欢迎的副作用.

所以我的问题是:有没有更好的方法来做我想做的事情?

cocoa nstextview core-text

3
推荐指数
1
解决办法
1689
查看次数

NSTextView文本对齐

好吧,我正在寻找代码来为NSTextView进行"左/中/右"对齐.我观察到在文本菜单中,此功能存在,并且它链接到调用"alignCenter"选择器的第一个响应者.但是我无法让它发挥作用.

所以我开始阅读TextEdit的源代码.似乎Apple实现了它并在工具栏中显示.但是我无法找到它的位置.(它不在任何.nib文件中,并且没有与对齐或居中或左对齐相关的选择器等.)

所以任何人都可以告诉我:如何实现与文本菜单中的功能完全相同的功能.

要么

苹果公司把TextEdit程序中的文本对齐的源代码放在哪里?

提前致谢!!

macos xcode cocoa objective-c nstextview

3
推荐指数
1
解决办法
3803
查看次数

NSTextView粘贴:当粘贴"foo"时,如何粘贴"bar"?

我有一个NSTextView,用户可以将纯文本粘贴到其中.

当用户在粘贴板中有"foo"时,我希望粘贴"bar".换句话说,用户进入网络浏览器,选择"foo",cmd + c,切换到我的NSTextView,cmd + v,并在插入点出现"bar".

拜托,有谁知道如何处理这个问题?

编辑:是否有可能以某种方式使用readSelectionFromPasteboard:type:此?我只是不知道在我的被覆盖的textview的方法体中放什么..?

cocoa objective-c nstextview

3
推荐指数
1
解决办法
765
查看次数

将NSMutableAttributedString写入/读取到Plist

好的,我们在这里:

  • 我有一个 NSTextView
  • 我得到它的NSMutableAttributedString满足
  • 我无法将其读/写到plist

通过使用Rob的代码(将自定义属性保存在NSAttributedString中),我已经取得了一些进展(我正在设法将数据写入磁盘),但是我无法恢复它(= NSKeyedUnarchiverreturn nil)。


编码方式:

// where MAS --> NSMutableAttributedString

NSData* stringData = [NSKeyedArchiver archivedDataWithRootObject:MAS];
Run Code Online (Sandbox Code Playgroud)

解码:

NSMutableAttributedString* mas = (NSMutableAttributedString*)[NSKeyedUnarchiver unarchiveObjectWithData:dat];
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?任何可能的解决方法(即使不能使用NSCoder,我都怀疑它可以与RTF一起使用...)!

cocoa rtf objective-c nstextview nsattributedstring

3
推荐指数
1
解决办法
843
查看次数

NSTextView选择突出显示所有字符,甚至段落缩进

找不到任何线索来管理它。

默认情况下,NSTextView选择突出显示其文本容器的整个大小。它忽略行距,头或尾缩进等。但是在Pages应用程序选择中不突出显示那些辅助部分,它仅突出显示字符。即使文本容器的高度较小(前后段落间距),它也会突出显示行的所有高度。

我想实现这种行为,但不知道从哪里开始。我在这里搜索过,我在搜索过Apple文档,还尝试过示例项目。没有。

也许有人可以指引我正确的方向?谢谢!

macos cocoa objective-c nstextview swift

3
推荐指数
1
解决办法
558
查看次数

从NSTextView中删除文本

我已经创建了一个NSTextView并设法使用getter来填充它,它是嵌入的滚动视图,并使用该.insertText()函数.

我怎么清空NSTextView呢?我已阅读文档,似乎没有功能.removeText().Apple允许您插入数据但不能以编程方式删除数据似乎有点奇怪.我已经搜索了高低的答案但空手而归.

cocoa nstextview swift

3
推荐指数
1
解决办法
5120
查看次数