【发布时间】:2009-05-12 09:01:59
【问题描述】:
我需要将用户输入到大的多行 UITextView 的文本移动到较小的(但仍然是多行的)UITextView*。如果用户输入的文本比在较小视图中显示的要多,我想截断文本,使其适合所有可见的(截断的)文本。 (大的UITextView 和较小的都不能滚动。)
最好的方法是什么?
我可以使用循环,每次将字符串缩短一个字符,然后使用NSString 的sizeWithFont: constrainedToSize: lineBreakMode: 找出这个较短字符串所需的高度,然后将其与我可用的高度进行比较在我较小的UITextView 中,当字符串适合时结束循环 - 但这似乎很慢而且很尴尬。一定有更好的办法。
我只想告诉目的地UITextView 在屏幕上显示它时截断它的 displayText 成员,但我一直无法找到一种方法来做到这一点。
*关于此的更多上下文,来自我在下面的评论:
我有一个横向应用程序。我根据用户选择的照片更改视图的布局。如果是风景照片,标题会更小 - 只是照片底部的一条线。如果她选择一张肖像照片,那么我可以在照片的侧面有足够的空间来放置标题,因此标题会更大。
如果用户将她的照片方向从纵向更改为横向,那么我想截断文本,然后允许她对其进行编辑以使其有意义。我可以直接删除它,但我更愿意保留它以尽量减少她的打字。
【问题讨论】:
标签: iphone ios cocoa-touch