- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 NSTextView
的子类,在这个子类的初始化器中我想调用:
super.init(frame: NSMakeRect(...))
这是我在以编程方式初始化 NSTextView
时经常做的事情。我简单的写:
let textView = NSTextView(frame: NSMakeRect(0,0,10,10))
但是,当我在子类 (super.init(frame: (...))
) 中执行此操作时,编译器会抛出错误。它不会让我使用 init(frame:)
因为 init(frame:)
是 NSTextView
的便利初始化器,我必须调用“父类(super class)的指定初始值设定项。”
查看文档后,我发现NSTextView
的designated initializer是init(frame: textContainer:)
,但我不想处理 NSTextContainers
。为什么我必须从对象的子类中调用指定的初始化器,但如果对象没有被子类化,我可以调用便利的初始化器?每当我通常初始化一个 NSTextView
时,我不必提供一个 NSTextContainer
,但是当我将一个 NSTextView
初始化为子类的父类(super class)时,我愿意。这是为什么?
此外,是否有任何方法可以使用一种“默认”文本容器来初始化 NSTextView
?不管指定的初始值设定项如何,我在这里要做的就是创建一个 NSTextView
而不必担心 NSTextContainers
。
最佳答案
我为此找到了一轮工作。它不漂亮,但它完成了工作。基本上,我只是使用 init(frame:)
在我的子类初始化程序中创建一个 NSTextView
实例,然后将生成的 textContainer
应用到 super
:
class Header: NSTextView {
// methods and properties...
init(frame theFrame: NSRect) {
// using desired convenience initializer
let test = NSTextView(frame: theFrame)
// using designated initializer, as required by the compiler
super.init(frame: test.frame, textContainer: test.textContainer)
}
}
关于swift - 在不提供 NSTextContainer 的情况下初始化 NSTextView 的子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34616892/
我正在尝试使用以下方法在给定恒定宽度的情况下测量 NSAttributedString 的高度: -(CGFloat)calculateHeightForAttributedString:(NSAtt
我正在尝试实现 exclusionPaths对于我在里面的自定义 View UITextView ,并在类似于 Pages 应用程序的文本编辑过程中将它们与文本一起移动。 我正在尝试为 attribu
我有一个包含 NSString 内容的段落的 NSOrderedSet。遍历所有,创建一个大字符串并赋予 NSTextStorage。但是所有的段落都丢失了。 下面的代码允许我计算页面数并在页面中显示
我如何制作一个 NSLayoutManager 将其文本中的每个段落分配给不同的 NSTextContainer? 这类似于 TextKit 中常见的多页/多列用法,但每个页面对应一个可变长度的不同段
您好,我正在使用适用于 iOS7 的新 TextKit API,我正在尝试生成一个具有不规则形状的 UITextView。到目前为止,我在 View Controller 中有: -(void) lo
我正在尝试使用以下代码获取在给定文本容器中显示文本所需的矩形大小: s = [manager usedRectForTextContainer:container].size; 我希望文本是多行的,但
我发现 NSTextView 中文本容器的行为非常有趣。当我设置容器的大小使其小于 NSTextView 框架的大小并尝试在 NSTextView drawRect: 中绘制任何图形(例如线条、矩形)
我正在创建一系列 NSTextContainer 来保存来自 HTML 资源的文本。我能够将 HTML 添加到属性字符串,将其分配给 NSTextStorage 和 NSLayoutManager,并
抱歉,如果问题看起来很微不足道: 我正在尝试使用其底层 setter 设置 NSTextContainer 实例属性 exclusionPaths:[myNSTCInstance setExclusi
我有一个 NSTextView 的子类,在这个子类的初始化器中我想调用: super.init(frame: NSMakeRect(...)) 这是我在以编程方式初始化 NSTextView 时经常做
我将 Text Kit 与 UIPageViewController 结合使用来创建一本书。原始文本存储在文本文件 (.html) 中并放入 NSTextStorage。 [NSLayoutManag
代码示例 我有一个 NSLayoutManager、NSTextContainer 和 NSTextStorage 作为自定义 NSView(不是 TextView)中的属性,在 awakeFromN
按照苹果文档,我试图通过它的两个构造函数方法设置一个简单的 NSTextView。 我将下面的代码放在内容 View 的 View Controller 的 viewDidAppear 方法中。 te
我正在尝试实现多页文本编辑布局,如 Pages、MS Word 等。在 OS X 上,我可以通过为多个 NSTextView 创建一个 NSLayoutManager 和一个 NSTextStorag
[在底部更新了解决方案和工作代码] 在-viewDidLoad我分配,initWithFrame: 将 myTextView 添加到 subView 设置一些基本属性(对齐方式、背景颜色、文本颜色等)
我正在尝试使用 NSTextContainer 的 excludePaths 排除 UITextView 中的一个正方形,如下所示: NSTextStorage* textStorage = [[NS
我是一名优秀的程序员,十分优秀!