gpt4 book ai didi

ios - Objective-C ,排列和着色标签?

转载 作者:行者123 更新时间:2023-11-28 22:08:19 25 4
gpt4 key购买 nike

我正在尝试在我的应用程序中将标签排列在同一行中并为其着色。但是我不知道我会怎么做。假设我有一组标签,所有标签都有不同的颜色。

NSArray *MyArray = @[
@"#BlackSabbath", // red
@"#Dio", // blue
@"#TenaciousD" // yellow
];

我想把它们排成一行。好吧,我知道我可以只创建一个 UILabel 并将它们作为 NSString 全部粘贴在那里。但是,我将如何着手给它们上色呢?如果这是 HTML,我可以使用 span 标签,但我不认为 Objective C 中有等效项。

我知道我也可以只排列一堆 UILabel 并分别给它们着色,但我不知道如何根据文本大小调整宽度,因为文本长度有些标签会比其他标签长。

最佳答案

类似的东西,这是我的一些代码,你应该稍微改变一下,但我认为你可以弄清楚大局。我用它来打印名称,背景颜色用逗号分隔(没有背景),例如 UILabel 中的 facebook 标记:

NSMutableAttributedString * hashtagAttributedString = [[NSMutableAttributedString alloc]init];
[hashtagAttributedString beginEditing];
NSAttributedString * comma = [[NSAttributedString alloc]initWithString:@","];
//Iterate trough array of users
for (AFUser * user in self.selectedUsers) {
NSAttributedString *myString = [[NSAttributedString alloc]initWithString: user.userSurnameAndName attributes:
@{ NSBackgroundColorAttributeName : [UIColor colorWithRed:0.525490 green:0.803922 blue:0.301961 alpha:1.000000] ,
NSFontAttributeName : self.taggedUsersLabel.font
}];

[hashtagAttributedString appendAttributedString:myString];
if (self.selectedUsers.count > 1) {
[hashtagAttributedString appendAttributedString:comma];
}
}
[hashtagAttributedString endEditing];
self.taggedUsersLabel.attributedText = hashtagAttributedString;

关于ios - Objective-C ,排列和着色标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23449336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com