标签: uilabel

在单个标签中使用多种字体颜色

有没有办法在iOS中的单个标签中使用两种甚至三种字体颜色?

如果用"你好,你好吗"这个文字作为一个例子,那么"你好"会是蓝色的,"你好吗"会是绿色的吗?

这有可能,它似乎比创建多个标签更容易吗?

textcolor nsattributedstring uilabel ios swift

75
推荐指数
10
解决办法
8万
查看次数

如何动态计算UILabel高度?

我想从给定的文本中动态计算UILabel的行数和高度.

iphone label uilabel ios

72
推荐指数
7
解决办法
11万
查看次数

UILabel - 作为文本和链接的字符串

我有一个UILabel来自服务器的文本.一些文本将被标识为链接,并且在触摸这些链接时应该执行一些操作.例如

NSString*str = @"我的电话号码是645-345-2345,我的地址是xyz ";

这是完整的文本UILabel.我只有一个UILabel用于显示此文本(文本是动态的.我只是举了一个例子.).点击这些链接后,我需要执行操作,例如导航到某个不同的屏幕或拨打电话.
我知道我可以在OHAttributedLabel的帮助下显示这样的文字.链接可以显示如下:

[label1 addCustomLink:[NSURL URLWithString:@"http://www.foodreporter.net"] inRange:[txt rangeOfString:someString]];  
Run Code Online (Sandbox Code Playgroud)

但我想知道如何让这些文本链接执行某些操作,如导航到不同的屏幕或拨打电话.
如果需要更多解释,请与我们联系.

iphone nsstring uilabel ios

71
推荐指数
4
解决办法
6万
查看次数

如何在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万
查看次数

68
推荐指数
3
解决办法
4万
查看次数

无法更改UILabel文本颜色

我想更改UILabel文本颜色,但我无法更改颜色,这就是我的代码的样子.

UILabel *categoryTitle = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 46, 16)];
categoryTitle.text = @"abc";
categoryTitle.backgroundColor = [UIColor clearColor];
categoryTitle.font = [UIFont systemFontOfSize:12];
categoryTitle.textAlignment = UITextAlignmentCenter;
categoryTitle.adjustsFontSizeToFitWidth = YES;
categoryTitle.textColor = [UIColor colorWithRed:188 green:149 blue:88 alpha:1.0];
[self.view addSubview:categoryTitle];
[categoryTitle release];
Run Code Online (Sandbox Code Playgroud)

标签文本颜色为白色,而不是我的自定义颜色.

感谢您的帮助.

objective-c uilabel uicolor

66
推荐指数
2
解决办法
11万
查看次数

迅速.UILabel文本对齐

我在swift中创建了我的UILabel:

let label = UILabel(frame: CGRect( x: 50, y: 50, width: 100, height: 50))
Run Code Online (Sandbox Code Playgroud)

设置属性似乎很容易:

label.textColor = UIColor.redColor()
Run Code Online (Sandbox Code Playgroud)

如何实现像textAlignment这样的枚举类型?在目标C中它是

label.textAlignment = NSTextAlignmentCenter;
Run Code Online (Sandbox Code Playgroud)

但很快它似乎没有用.

enums uilabel swift

66
推荐指数
1
解决办法
7万
查看次数

如何在Swift中增加UILabel的行间距

我有一个标签,几行文字,我想增加行之间的间距.其他人也提出了类似的问题,但解决方案并没有解决我的问题.我的标签也可能包含或不包含段落.我是新来的Swift.是否有使用故事板的解决方案?或者只通过NSAttributedString它可能的?

uilabel ios swift line-spacing

66
推荐指数
6
解决办法
6万
查看次数

动画UILabel字体大小更改

我目前正在创建一个使用自定义View Controller容器的应用程序.屏幕上一次显示多个视图,当点击一个视图时,所选视图控制器将动画显示为全屏.在这样做时,所选视图控制器子视图也会缩放(帧,字体大小等).但是,UILabel的字体属性不可动画导致问题.我尝试过多种解决方案,但都很糟糕.

我尝试过的解决方案是:

  1. 截取较大视图的屏幕截图并设置更改动画(类似于Flipboard的工作方式)
  2. 使用transform属性进行动画处理
  3. 缩小UIScrollView并在全屏显示时将其放大.
  4. 将adjustsFontSizeToFitWidth设置为YES并在动画之前设置fontSize

到目前为止,一个是最好的解决方案,但我不满意.

我正在寻找其他建议,如果有人有任何或UILabel替代使用[UIView animate ..]平滑动画.

这是一个很好的例子,类似于我想要的UILabel:http: //www.cocoawithlove.com/2010/09/zoomingviewcontroller-to-animate-uiview.html

编辑:此代码有效

// Load View

self.label = [[UILabel alloc] init];
self.label.text = @"TEXT";
self.label.font = [UIFont boldSystemFontOfSize:20.0];
self.label.backgroundColor = [UIColor clearColor];

[self.label sizeToFit];

[self.view addSubview:self.label];

// Animation

self.label.font = [UIFont boldSystemFontOfSize:80.0];
self.label.transform = CGAffineTransformScale(self.label.transform, .25, .25);
[self.label sizeToFit];

[UIView animateWithDuration:1.0 animations:^{
    self.label.transform = CGAffineTransformScale(self.label.transform, 4.0, 4.0);
    self.label.center = self.view.center;
} completion:^(BOOL finished) {

    self.label.font = [UIFont boldSystemFontOfSize:80.0]; 
    self.label.transform = CGAffineTransformScale(self.label.transform, 1.0, 1.0);

    [self.label sizeToFit];

}];
Run Code Online (Sandbox Code Playgroud)

iphone animation uilabel ios

65
推荐指数
7
解决办法
4万
查看次数

iOS将左侧填充添加到UILabel

我需要创建一个UILabel背景颜色,我想添加一些左边填充,但我在这里找到的每个解决方案似乎都是一个讨厌的黑客.

从iOS 5开始实现这一目标的"标准"方法是什么?

编辑

用于说明我的场景的屏幕截图.-

在此输入图像描述

uilabel ios

64
推荐指数
8
解决办法
11万
查看次数