相关疑难解决方法(0)

如何在UILabel中找到文本子字符串的CGRect?

对于给定的NSRange,我想找到一个CGRectUILabel对应的的字形NSRange.例如,我想CGRect在"快速的棕色狐狸跳过懒狗"这句话中找到包含"狗"字样的字样.

问题的视觉描述

诀窍是,UILabel有多行,而文本确实attributedText如此,所以找到字符串的确切位置有点困难.

我想在我的UILabel子类上写的方法看起来像这样:

 - (CGRect)rectForSubstringWithRange:(NSRange)range;
Run Code Online (Sandbox Code Playgroud)

细节,对于有兴趣的人:

我的目标是能够创建一个具有UILabel的确切外观和位置的新UILabel,然后我可以制作动画.我已经把剩下的事情搞清楚了,但特别是这一步让我暂时退缩了.

到目前为止我尝试解决问题的方法是:

  • 我希望在iOS 7中,有一些Text Kit可以解决这个问题,但是我用Text Kit看到的大多数例子都集中在UITextViewUITextField而不是UILabel.
  • 我在这里看到了有关Stack Overflow的另一个问题,它承诺解决问题,但是已接受的答案已经超过两年了,并且代码在属性文本中表现不佳.

我敢打赌,对此的正确答案涉及以下其中一项:

  • 使用标准的Text Kit方法在一行代码中解决此问题.我打赌它会涉及NSLayoutManagertextContainerForGlyphAtIndex:effectiveRange
  • 编写一个复杂的方法,将UILabel分成几行,并在一行中找到一个字形的矩形,可能使用Core Text方法.我目前最好的选择是拆开@mattt优秀的TTTAttributedLabel,它有一个方法可以在一个点上找到一个字形 - 如果我将其反转,并找到一个可能有效的字形点.

更新:这是一个github要点,我已经尝试了迄今为止解决这个问题的三件事:https://gist.github.com/bryanjclark/7036101

uilabel ios ios7 textkit

69
推荐指数
4
解决办法
2万
查看次数

如何在 iOS 中为字符串添加背景颜色和圆角?

如何在 iOS 中为字符串添加背景颜色和圆角?

像下面这张图:

在此处输入图片说明

不能用NSAttributedstring. 那么,我应该使用CoreText吗?我找到了这个答案,但仍然不知道该怎么做。

core-text ios

8
推荐指数
1
解决办法
5981
查看次数

可能在归属文本背景上有圆角吗?

我将Text归为不同的文本颜色.为了更好地阅读突出显示的文本,我使用backgroundcolor.是否有可能在这个Textarea上带来圆角的CALayer效果?不是整个区域,而是内部的特殊文本.

我的代码:

NSAttributedString *text = [[NSAttributedString alloc] initWithString:@"Highlighted Text"
                                                                          attributes:@{
                                                                                       NSFontAttributeName:            [UIFont fontWithName:@"HelveticaNeue" size:10.0f],
                                                                                       NSForegroundColorAttributeName: [UIColor lightGrayColor],
                                                                                       NSBackgroundColorAttributeName: [UIColor darkGrayColor]
                                                                                       }];
Run Code Online (Sandbox Code Playgroud)

iphone nsattributedstring uilabel ios quartz-core

5
推荐指数
0
解决办法
5675
查看次数

使用 NSMutableAttributedString 实现圆角

我认为我的问题很简单,但我在谷歌上找不到任何东西。我用来NSMutableAttributedString修改字符串中的样式,例如我使用此代码来更改背景颜色:

    [string addAttribute:NSBackgroundColorAttributeName value:[UIColor colorWithRed:0.4 green:0.8 blue:1 alpha:1] range:NSMakeRange(0,18)];
Run Code Online (Sandbox Code Playgroud)

我的问题是,我如何才能圆化这个背景的角落?
提前致谢。

objective-c ios nsmutableattributedstring

5
推荐指数
0
解决办法
3754
查看次数

替换 uitextview 的布局管理器

Mac OS X上的NSTextContainer有一个方法replaceLayoutManager:用NSLayoutManager的子类替换NSTextView的NSLayoutManager。

不幸的是iOS没有这样的功能。我尝试了这些代码行的组合,但它不断崩溃。

THLayoutManager *layoutManager = [[THLayoutManager alloc] init];
    [layoutManager addTextContainer:[self textContainer]];

    //      [[self textStorage] removeLayoutManager:[self layoutManager]];
    //[[self textStorage] addLayoutManager:layoutManager];
    [[self textContainer] setLayoutManager:layoutManager];
Run Code Online (Sandbox Code Playgroud)

替换 UITextview 的 NSLayoutManager 的正确步骤是什么?

nslayoutmanager uitextview ios7

4
推荐指数
1
解决办法
5234
查看次数

围绕UILabel的每个字边界

有没有办法可以围绕每个单词绘制边框UILabel.假设UILabel包含字符串"This is the Line 1".

我想要5个不同的边框,大约5个字

  1. 这个
  2. 线
  3. 1

nsattributedstring uilabel ios swift

0
推荐指数
1
解决办法
2575
查看次数