我正在使用带有嵌套NSTextView的NSScrollView,让用户在我的OSX应用程序中插入和编辑大块文本。
如果我插入一些文本,文本不会将其自身扩展到当前行,而是创建一个新行,而水平滚动条也不会展开。 我该如何解决这种情况? 感谢。
答案 0 :(得分:0)
您不需要额外的滚动视图。创建所需宽度的文本容器,并将其设置为文本视图(replaceTextContainer:
或initWithFrame:textContainer:
)。设置setWidthTracksTextView:
以防止容器调整大小。
答案 1 :(得分:0)
请尝试以下代码.....
Objective-C
http.authorizeRequests().antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/**").hasRole("USER").and().formLogin();
快速
[self.scrollView setHasHorizontalScroller:YES];
[self.textView setMaxSize:NSMakeSize(FLT_MAX, FLT_MAX)];
[self.textView setHorizontallyResizable:YES];
[[self.textView textContainer] setWidthTracksTextView:NO];
[[self.textView textContainer] setContainerSize:NSMakeSize(FLT_MAX, FLT_MAX)];
答案 2 :(得分:0)
这是NSTextView的扩展
extension NSTextView {
func wrapText(_ isWrapped: Bool) {
guard let scrollView = enclosingScrollView else { return }
scrollView.hasHorizontalScroller = !isWrapped
isHorizontallyResizable = !isWrapped
let width = isWrapped ? Int(scrollView.contentSize.width) : Int.max
maxSize = NSSize(width: width, height: Int.max)
textContainer?.size = NSSize(width: width, height: Int.max)
textContainer?.widthTracksTextView = isWrapped
}
}