gpt4 book ai didi

cocoa - 如何根据内容调整 NSTextView 的大小?

转载 作者:行者123 更新时间:2023-12-03 16:01:59 24 4
gpt4 key购买 nike

我正在尝试在 NSTextView 中设置属性字符串。我想根据其内容增加其高度,最初将其设置为某个默认值。

所以我尝试了这个方法:

我在 NSTextView 中设置内容。当我们在 NSTextView 中设置一些内容时,它的大小会自动增加。因此,我将其 super View NSScrollView 的高度增加到其高度,但 NSScrollView 并未完全调整大小,它在右侧显示滚动条。

float xCoordinate = 15.0;

[xContentViewScroller setFrame:NSMakeRect(xCoordinate, 0.0, 560.0, 10.0)];

[[xContentView textStorage] setAttributedString:xContents];

float xContentViewScrollerHeight = [xfContentView frame].size.height + 2;

[xContentViewScroller setFrame:NSMakeRect(xCoordinate, 0.0, 560.0, xContentViewScrollerHeight)];

任何人都可以建议我某种方式或方法来解决此问题。通过谷歌搜索,我发现在 UITextView 中有 contentSize 方法可以获取其内容的大小,我试图在 NSTextView 中找到类似的方法,但无法获得任何成功:(

最佳答案

根据 @Peter Hosey 的回答,这里是 Swift 4.2 中 NSTextView 的扩展:

extension NSTextView {

var contentSize: CGSize {
get {
guard let layoutManager = layoutManager, let textContainer = textContainer else {
print("textView no layoutManager or textContainer")
return .zero
}

layoutManager.ensureLayout(for: textContainer)
return layoutManager.usedRect(for: textContainer).size
}
}
}

关于cocoa - 如何根据内容调整 NSTextView 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2654580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com