如何动态调整NSScrollView以适合NSTextView

时间:2016-10-11 14:39:34

标签: macos cocoa swift3 nstextview nsscrollview

我正在使用Swift 3和故事板功能在XCode中编写OS X应用程序。

我的文本在NSScrollView内的NSClipView内的NSTextView中动态加载(大小未预先定义)。问题是,当文本大于NSClipView的大小时,此文本会被剪切,并且不会出现滚动条。我错过了什么?

storyboard

有限制的故事板。 “No Lyrics”单元格定义了将加载文本的NSTextView。

@IBOutlet weak var lyricsTextField: NSTextField!
@IBOutlet weak var lyricsClipView: NSClipView!
@IBOutlet weak var lyricsView: NSView!
@IBOutlet weak var lyricsScrollView: NSScrollView!

// This method gets called every time the string value changes
func updateForTrack() {
    lyricsTextField.stringValue = trackManager.currentLyrics

    // Some things I tried without any success
    lyricsTextField.sizeToFit()
    print(lyricsTextField.frame.size) // the size is correct (not clipped)
    lyricsClipView.documentView?.setFrameSize(lyricsTextField.frame.size)
    lyricsScrollView.documentView?.setFrameSize(lyricsTextField.frame.size)
}

结果:

result

视图不可滚动。

我很欣赏任何正确方向的暗示。

0 个答案:

没有答案