Tag: 文本包

如何在UILabel中findCGRect文本的子string?

对于一个给定的NSRange ,我想在UILabel中find一个对应于该NSRange的字形的NSRange 。 例如,我想在“快速的棕色狐狸跳过懒狗”一句中find包含“狗”一词的CGRect 。 诀窍是, UILabel有多行,文本是真正的attributedText文本,所以要findstring的确切位置有点困难。 我想写在我的UILabel子类上的方法看起来像这样: – (CGRect)rectForSubstringWithRange:(NSRange)range; 详情,对于那些有兴趣的人: 我的目标是能够创build一个具有UILabel的确切外观和位置的新UILabel,然后我可以进行animation制作。 其余的我已经知道了,但是特别是这一步让我暂时陷入困境。 到目前为止,我所做的努力来解决这个问题: 我希望在iOS 7中,会有一些文本工具包可以解决这个问题,但是大多数我见过的使用Text Kit的例子都集中在了UITextView和UITextField ,而不是UILabel 。 我看到另一个关于Stack Overflow的问题,可以解决这个问题,但是接受的答案已经超过两年了,而代码对于归因文本performance不佳。 我敢打赌,正确的答案涉及以下其中之一: 使用标准的文本工具包方法在一行代码中解决这个问题。 我敢打赌,它会涉及NSLayoutManager和textContainerForGlyphAtIndex:effectiveRange 编写一个复杂的方法,将UILabel分解成行,并且可能使用Core Text方法在行内find字形的矩形。 我现在最好的select是分开@ mattt的优秀TTTAttributedLabel ,它有一个方法可以在一个点find一个字形 – 如果我反转,find一个字形的点,可能工作。 更新:这里有一个Github的要点,我已经尝试到目前为止,以解决这个问题的三件事情: https : //gist.github.com/bryanjclark/7036101

iOS 7的TextKit – 如何插入图像内嵌文本?

我想使用UITextView获得以下效果: 基本上我想插入文字之间的图像。 图像可以简单地占用1行的空间,所以没有必要的包装。 我试着只是添加一个UIView的子视图: UIView *pictureView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 25, 25)]; [pictureView setBackgroundColor:[UIColor redColor]]; [self.textView addSubview:pictureView]; 但它似乎浮出了文本,并覆盖它。 我在排除path上做了一些阅读,这似乎是实现这一点的一种方式。 但是,我不想绝对定位图像 – 相反,它应该与文本一样(类似于<span>在HTML中的行为)。