1

ラベルのテキストに「&」または「/」というタイプの真ん中に記号が付いた 2 つの単語の文字列があります。記号付きの最初の文字列を最初の行に、2 番目の文字列を二行目?

これがコードです

if(self.labelTitle.text.length> self.labelTitle.bounds.size.width){
     self.labelTitle.numberOfLines =2;

       if([self.labelTitle.text rangeOfString:@"&"].location != NSNotFound){
            NSArray * separateString = [self.labelTitle.text componentsSeparatedByString:@"&"];
            NSString * firstString =[separateString objectAtIndex:0];
            NSString *secondString =[separateString objectAtIndex:1];
            self.labelTitle.text = firstString;
            self.labelTitle.text = secondString;

        }else if ([self.labelTitle.text rangeOfString:@"/"].location != NSNotFound){
            //.....
        }
  }

どこが間違っていますか?

4

1 に答える 1

3

コード例では、 を でオーバーライドしfirstStringますsecondString。あなたがしたいことは、textプロパティを一度追加設定し、\n文字列の間に追加することです:

if(self.labelTitle.text.length> self.labelTitle.bounds.size.width){
     self.labelTitle.numberOfLines =2;

       if([self.labelTitle.text rangeOfString:@"&"].location != NSNotFound){
            NSArray * separateString = [self.labelTitle.text componentsSeparatedByString:@"&"];
            NSString * firstString =[separateString objectAtIndex:0];
            NSString *secondString =[separateString objectAtIndex:1];
            self.labelTitle.text = [NSString stringWithFormat:@"%@\n%@", firstString, secondString];

        }else if ([self.labelTitle.text rangeOfString:@"/"].location != NSNotFound){
            //.....
        }
  }
于 2012-10-24T08:58:14.170 に答える