如何打破一行文本并在iphone中的2个不同标签中显示它

时间:2011-06-14 09:39:29

标签: objective-c

如何打破一行文本并将其显示在2个不同的标签中。 例如,我有一个文字"Have a happy week end"。我想在一个标签中打印"have a happy",在另一个标签中打印"week end"

3 个答案:

答案 0 :(得分:2)

我不确定你想要实现的目标。您可以用以下单词分割您的句子:

NSArray *words = [string componentsSeparatedByString:@" "];
for(NSString *item in words)
{ 
.. 
}

或者您可以使用\ n拆分句子并将其显示在一个支持多行的标签

lblMsg.lineBreakMode = UILineBreakModeWordWrap;
lblMsg.numberOfLines = 0;

答案 1 :(得分:2)

您的描述有点模糊,但是如果至少有一个空格(如果它们不能相等则第一部分总是更大),这里有一些代码将字符串(使用空格)分成两个相等的部分。如果没有空格,firstHalf将包含整个字符串,secondHalf将为零。

NSUInteger middle = string.length / 2;
NSUInteger length = string.length;
unichar theChar;
do {
    theChar = [string characterAtIndex:middle];
    middle++;
} while (middle < length && theChar != ' ');

NSString *firstHalf = nil;
NSString *secondHalf = nil;
if (theChar == ' ') {
    firstHalf = [string substringToIndex:middle];
    secondHalf = [string substringFromIndex:middle];
} else {
    firstHalf = string;
}

答案 2 :(得分:0)

嗯,不确定我是否完全理解这个问题,但如果你想在两行上显示一个字符串,你可以使用一个标签显示两行使用“\ n”。把“\ n”放在快乐的结尾(没有引号),这样“快乐\ n周结束”。