我有一个使用Nstextfield实例进行现场文本编辑的图形应用程序,此功能很久以前添加了,我从来没有理由检查它格式化。格式 - >文本菜单subitems均已禁用,因此无法设置文本项目的段落。

问题:我应该如何设置Nstextfield来支持段落编辑?我敢肯定,自从应用程序出生以来,我有一些带有格式化文本的项目,并且Nstextfield在那里,我敢肯定它确实有效。我是否错过了使用System/Xcode更新的内容?

我的nstextfield是多行,可编辑的,可以编辑文本属性。

有帮助吗?

解决方案

如果有人将来会面对这一点,我可以详细描述问题:

  1. nstextview如果没有使用过标尺,则拒绝使用格式
  2. nstextfield本身没有文本编辑,它使用由拥有的nswindow驱动的共享nstextview实例
  3. NSWINDOW的默认文本编辑器不使用标尺。

使用Nstextfield时,此结果禁用文本格式。

解决方案 是为了亚群:

@implementation MyWindow

- (NSText *)fieldEditor:(BOOL)createWhenNeeded forObject:(id)anObject
{
    NSText* text = [super fieldEditor:createWhenNeeded forObject:anObject];
    if ([text isKindOfClass:[NSTextView class]])
        [(NSTextView *)text setUsesRuler:YES];
    return text;
}

@end

瞧,格式又回来了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top