iphone - IOS相当于Android的Paint.breakText()

标签 iphone android objective-c ios

我正在寻找相当于 Android 的 Paint.breakText() 的 iOS objective c .

我有一个字符串被放在一个矩形中。如果不合适,我需要找到字符的索引以用省略号替换并删除字符串的其余部分。

编辑:

正如 James Bedford 的回答所暗示的,这个问题可以通过添加 UIKit NSString 来解决。

[foo drawInRect:someRect withFont:someFont
     lineBreakMode:UILineBreakModeTailTruncation];

UILineBreakModeTailTruncation 与绘图结合使用时,会在字符串末尾添加省略号。

最佳答案

我知道这不是您要求的,但最简单的方法是使用 UILabel,将其设置为 multiLine,然后它会为您截断和省略。

说到这里,你可以使用 CoreText 做你想做的事了。 CTFrameSetter 和 TypeSetter 可以提供带索引的换行信息。

我会提供一个示例,但我还没有使用过这些类。

关于iphone - IOS相当于Android的Paint.breakText(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5435018/

相关文章:

iphone - 如何在旋转 90 度后将图像添加到 CALayer 的背面?

objective-c - 为什么 C 语言中的 Float error 不同?

iphone - 在 Core Graphics 和 CorePlot 中用 'raised effect'/gradient 画一条线

iphone - NSUserDefaults boolforKey 设计限制?

android - 是否可以将缩放控件移动到 OSMdroid 屏幕上的不同位置

java - raw 无法解析或不是字段

iphone - JSONValue ARC 问题

ios - 使用 AVAudioPlayer 从 URL 播放音频歌曲?

objective-c - 在网站上进行身份验证并使用 objective-c 进行屏幕抓取

android - Volley onErrorResponse 给出 NullPointerException