首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >截断NSTextView?

截断NSTextView?
EN

Stack Overflow用户
提问于 2010-11-13 15:31:38
回答 3查看 6.9K关注 0票数 6

我尝试使用defaultParagraphStyle,但似乎无法获得NSTextView (以编程方式添加)来截断带有省略号(...)的文本。

我在initWithFrame (150,20)期间设置帧,还设置maxSize (150,20)。但是,文本只是溢出。如果我设置半行可见的高度,我可以看到文本的上半部分,但是我希望看到文本被省略号截断。

我该怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-15 13:52:03

如果将鼠标悬停在IB中的相应控件上,就可以看到它所触发的方法的声明和简要文档(通常是getter而不是setter,但是可以很容易地推断出其中一个)。例如,对于“换行符”弹出窗口,您将看到lineBreakMode方法。然后你可以使用你最喜欢的方法在Xcode中找到它(例如“快速打开”)。

所以你想要的是:

代码语言:javascript
复制
[[someTextField cell] setLineBreakMode:NSLineBreakByTruncatingTail];

或者潜在的:

代码语言:javascript
复制
[[someTextField cell] setLineBreakMode:NSLineBreakByCharWrapping];
[[someTextField cell] setTruncatesLastVisibleLine:YES];
票数 19
EN

Stack Overflow用户

发布于 2012-12-21 02:08:20

尼古拉斯写的是正确的。

我喜欢添加(因为我花了一些时间搜索),如果你为你的NSTextView和周围的NSView使用自动布局,你应该设置你的内容压缩阻力优先级NSTextView小于NSLayoutPriorityWindowSizeStayPut (例如499)。否则,您的NSTextView不会截断其内容。

票数 14
EN

Stack Overflow用户

发布于 2014-01-07 15:06:38

另一个标题可能是:

当窗口内容比窗口长时,如何停止NSTextField调整窗口大小!

结合尼古拉斯和斯蒂芬的答案是对我有帮助的。

我把…放在

代码语言:javascript
复制
[[someTextField cell] setLineBreakMode:NSLineBreakByTruncatingTail];

…在…中

代码语言:javascript
复制
- (void)windowDidLoad

或者,对于那些喜欢使用接口构建器…的用户

使用斯蒂芬的解决方案,并将NSTextField的布局更改为截断。另外,检查一下换行符是什么-截断尾巴可以满足我的需要。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4171465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档