ios – 更改UILabel文本,但保留其余的属性

ios – 更改UILabel文本,但保留其余的属性,第1张

概述我在我的ViewController中创建了一个使用故事板创建的UILabel.标签文字的字体,大小和颜色,其对齐方式全部设置在故事板中.故事板中的标签连接到我的文件p_patientNameLbl中的插座. 现在我试图通过编程方式更改标签的文本,如下所示: [self.p_patientNameLbl setText:@"Vasya"]; 我看不到新的文本,直到我意识到故事板中的原始标签在黑色背 我在我的VIEwController中创建了一个使用故事板创建的UILabel.标签文字的字体,大小和颜色,其对齐方式全部设置在故事板中.故事板中的标签连接到我的文件p_patIEntnameLbl中的插座.

现在我试图通过编程方式更改标签的文本,如下所示:

[self.p_patIEntnameLbl setText:@"Vasya"];

我看不到新的文本,直到我意识到故事板中的原始标签在黑色背景上是白色的,但显然在我改变了上面的标签文本之后,所有的字体属性都被重设了,现在它是一个黑色文本黑色背景,因此没有看到.一旦我以编程方式设置颜色:

[self.p_patIEntnameLbl setTextcolor:[UIcolor whitecolor]];

我可以看到新的标签,但所有其余的字体属性和对齐方式仍然是错误的.

有没有办法只更改标签的文本,而无需以编程方式设置所有其余的属性?我想象一定有办法,因为我不想在代码中格式化我的界面!

解决方法 这是因为您正在告诉“界面”构建器使用在其文本上设置了预定义属性的标签,并使用纯文本替换此归因文本.而不是setText或setTextcolor,您必须使用setAttributedText,并指定要传递给归因字符串的属性.

以下是一个如何以编程方式将归属字符串应用于标签的示例.我不知道有什么更好的方法,但是使用这种方式,您可以更改文本或文本颜色,只要您将其他属性与它们一起设置,所有更改将被正确应用.

[myLabel setAttributedText:[self myLabelAttributes:@"Some awesome text!"]];....................- (NSMutableAttributedString *)myLabelAttributes:(Nsstring *)input{    NSMutableAttributedString *labelAttributes = [[NSMutableAttributedString alloc] initWithString:input];    [labelAttributes addAttribute:NSstrokeWIDthAttributename value:[NSNumber numberWithfloat:-5.0] range:NSMakeRange(0,labelAttributes.length)];    [labelAttributes addAttribute:NSstrokecolorAttributename value:[UIcolor blackcolor] range:NSMakeRange(0,labelAttributes.length)];    [labelAttributes addAttribute:NSForegroundcolorAttributename value:[UIcolor whitecolor] range:NSMakeRange(0,labelAttributes.length)];    return labelAttributes;}
总结

以上是内存溢出为你收集整理的ios – 更改UILabel文本,但保留其余的属性全部内容,希望文章能够帮你解决ios – 更改UILabel文本,但保留其余的属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1096137.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存