Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 如何设置NSTextView的段落属性宽度_Cocoa_Nstextview_Nsparagraphstyle - Fatal编程技术网

Cocoa 如何设置NSTextView的段落属性宽度

Cocoa 如何设置NSTextView的段落属性宽度,cocoa,nstextview,nsparagraphstyle,Cocoa,Nstextview,Nsparagraphstyle,我的英语很糟糕,我不知道如何形容它 请看我先上传的图片。这是尤利西斯的截图 这应该是一个NSTextView控件。选择所有文本后,我发现它可以控制特定段落的左侧偏移 我试着模仿它 但我发现NSMutable段落风格似乎并没有达到这样的效果,它只能达到与下图类似的效果 简单地说,我想实现前一张图片的效果,但只实现第二张图片的效果 我看了另一个问题,但主要是关于背景色的,我想知道缩进的问题,这样我可以得到更多的结果 Ulysses是如何实现的?您可以通过覆盖NSLayoutManager子类中

我的英语很糟糕,我不知道如何形容它

请看我先上传的图片。这是尤利西斯的截图

这应该是一个NSTextView控件。选择所有文本后,我发现它可以控制特定段落的左侧偏移

我试着模仿它

但我发现NSMutable段落风格似乎并没有达到这样的效果,它只能达到与下图类似的效果

简单地说,我想实现前一张图片的效果,但只实现第二张图片的效果

我看了另一个问题,但主要是关于背景色的,我想知道缩进的问题,这样我可以得到更多的结果


Ulysses是如何实现的?

您可以通过覆盖
NSLayoutManager
子类中的
FillBackgroundRectary(\uU9:count:forCharacterRange:color:)
来修改所选图形矩形

类MyLayoutManager:NSLayoutManager{
重写func fillbackgroundrectary(rectary:UnsafePointer,count rectCount:Int,forCharacterRange charRange:NSRange,color:NSColor){
//选择矩形以绘制高光。
var rects:[NSRect]=数组(UnsafeBufferPointer(开始:rectary,计数:rectCount))
//在这里修改矩形。。。
//调用super并传入自定义rects数组。
super.fillbackgroundrectary(&rects,count:rectCount,forCharacterRange:charRange,color:color)
}
}
你可以实现这样的目标:


顺便说一句,您可以使用以下方法替换文本视图的布局管理器:

textView.textContainer?.replaceLayoutManager(MyLayoutManager())