小编Knu*_*ter的帖子

具有多个 NSTextContainers 的 NSLayoutManager 导致 UITextViews 不可选择/可编辑

我正在尝试实现多页文本编辑布局,如 Pages、MS Word 等。在 OS XI 上,可以通过为多个 NSTextView 创建一个 NSLayoutManager 和一个 NSTextStorage 来实现这一点。每个 NSTextView 都有自己的 NSTextContainer。见下面的 OS X 代码。一个简单的例子,文本在两个 NSTextViews 之间传播:

import Cocoa

class ViewController: NSViewController {

let layoutManager = NSLayoutManager()
let textStorage = NSTextStorage(attributedString: NSAttributedString(string: "This is a test"))
let textContainer1 = NSTextContainer()
let textContainer2 = NSTextContainer()

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    textStorage.addLayoutManager(layoutManager)

    textContainer1.widthTracksTextView = true
    textContainer1.heightTracksTextView = true
    textContainer2.widthTracksTextView = true
    textContainer2.heightTracksTextView = true

    let textView1 = NSTextView(frame: CGRectMake(0, …
Run Code Online (Sandbox Code Playgroud)

nslayoutmanager uitextview ios nstextcontainer swift

5
推荐指数
1
解决办法
1440
查看次数