用括号显示用户名
Display user's name with Brackets
我有一个 UILabel,它显示用户的全名,该用户使用 Brackets 登录。
喜欢.. (Dhaval Tannarana)
但有时如果用户名长度过大则显示。
(Dhaval Tann...
这里我想这样做
(Dhaval Tann...)
帮我解决这个问题
您必须为标签宽度设置条件以及要在标签中放置多少个字符串字符。
您的姓名字符串:
NSString *name = @"Dhaval Tannarana";
现在,根据标签的宽度,你可以使用...
if (name.length > 11)
{
name = [NSString stringWithFormat:@"%@...",[name substringToIndex:11]];
}
NSString *str = [NSString stringWithFormat:@"(%@)",name];
labnanme.text = str;
你的输出是
这里需要两个 UILabel
。一大UILabel
,就是显示(............)
字串。
还有一个内部标签,它可以是外部标签的子视图或位于该标签之上。
所以里面的标签实际上可以显示用户名。
您必须保持标签的宽度,使其看起来像一个标签。
图中黄色标签是显示()
括号的外标签,红色标签是显示用户名的内标签。
不使用 substringToIndex:我们可以使用 NSRange:rangeOfComposedCharacterSequencesForRange
NSString *name = @"Dhaval Tannarana";
if ([name length] > 10) {
NSRange range = [name rangeOfComposedCharacterSequencesForRange:(NSRange){0, 11}];
name = [name substringWithRange:range];
}
Label.text=[NSString stringWithFormat:@"(%@...)",name];
输出:
(达瓦尔·坦恩...)
我有一个 UILabel,它显示用户的全名,该用户使用 Brackets 登录。
喜欢.. (Dhaval Tannarana)
但有时如果用户名长度过大则显示。
(Dhaval Tann...
这里我想这样做
(Dhaval Tann...)
帮我解决这个问题
您必须为标签宽度设置条件以及要在标签中放置多少个字符串字符。
您的姓名字符串:
NSString *name = @"Dhaval Tannarana";
现在,根据标签的宽度,你可以使用...
if (name.length > 11)
{
name = [NSString stringWithFormat:@"%@...",[name substringToIndex:11]];
}
NSString *str = [NSString stringWithFormat:@"(%@)",name];
labnanme.text = str;
你的输出是
这里需要两个 UILabel
。一大UILabel
,就是显示(............)
字串。
还有一个内部标签,它可以是外部标签的子视图或位于该标签之上。
所以里面的标签实际上可以显示用户名。
您必须保持标签的宽度,使其看起来像一个标签。
图中黄色标签是显示()
括号的外标签,红色标签是显示用户名的内标签。
不使用 substringToIndex:我们可以使用 NSRange:rangeOfComposedCharacterSequencesForRange
NSString *name = @"Dhaval Tannarana";
if ([name length] > 10) {
NSRange range = [name rangeOfComposedCharacterSequencesForRange:(NSRange){0, 11}];
name = [name substringWithRange:range];
}
Label.text=[NSString stringWithFormat:@"(%@...)",name];
输出:
(达瓦尔·坦恩...)