2012-06-01 4 views
0

У меня есть этот код, чтобы показать некоторые тексты в UITextview..и просто хочу добавить UILabel между этими строками. Я получаю текст в этом formate, 1 это первый текст 2, это второй текст 3 это третий текст ,, я хочу, чтобы добавить или добавить UILabel между числовым характером и text.my кодом для отображения текста являетсяКак добавить UILabel между двумя строками

NSMutableString *combined = [NSMutableString string]; 

    for(NSUInteger idx = 0; idx < [delegatee.allSelectedVerseEnglish count]; idx++) { 
     [combined appendFormat:@" %d %@", 
     idx + 1, 
     [delegatee.allSelectedVerseEnglish objectAtIndex:idx]]; 

    } 
    NSNumberFormatter * f = [[NSNumberFormatter alloc] init]; 
    NSNumber * n = [f numberFromString:combined]; 
    NSLog(@"N: %@", n); 
     maintextview.text =combined; 

комбинированного текст в вышеуказанном формиате и maintextview является UITextView.

утро также получает диапазон строк между двумя предложениями

- (void)textViewDidEndEditing:(UITextView *)textView 
{ 
    if (textView == maintextview) { 

    mainpopupview.frame =CGRectMake(0, 0, 768, 1004) ; 
    [self.view addSubview:mainpopupview]; 

    NSRange selectedRange = [textView selectedRange]; 
    NSString *backString = [maintextview.text substringToIndex:selectedRange.location]; 
    NSRange backRange = [backString rangeOfString:@" " options:NSBackwardsSearch]; 
    NSRange backRangee = [backString rangeOfString:@" " options:NSBackwardsSearch]; 
    int myRangeLenght = backRangee.location - backRange.location; 
    NSRange myStringRange = NSMakeRange (backRange.location, myRangeLenght); 
    NSString *forwardString = [maintextview.text substringFromIndex:backRange.location]; 
    NSLog(@"%@",[[forwardString componentsSeparatedByString:@" "] objectAtIndex:1]); 
    NSLog (@"%@", [maintextview.text substringWithRange:myStringRange]); 

    NSString * myStringTxt = [[forwardString componentsSeparatedByString:@" "] objectAtIndex:1]; 
    NSLog(@"1 %@", myStringTxt); 

    // maintextview.textColor = [UIColor yellowColor]; 

    NSRange myStringRangee = [maintextview.text rangeOfString:myStringTxt]; 
    [maintextview select:self]; 
    maintextview.selectedRange = myStringRangee; 

есть ли способ сделать это. Спасибо заранее.

+0

Вопрос только о том, что вы редактируете новую строку после редактирования, чтобы вернуть ее в свой UITextView? Почему вы хотите иметь отдельный UILabel между ними и просто добавлять текст (вы хотите быть в UILable) в строку, которую вы возвращаете обратно в UITextView? – trumpetlicks

+0

@trumpetlicks haii, спасибо за ответ, я хочу, чтобы uilabel becz ,, это история. Номер стиха должен быть другого цвета, но в uitextvierw невозможно добавить два цвета, поэтому, если я получу uilabel я могу изменить цвет текста ярлыка и сделать номер стиха в uilabel.ok? – stackiphone

+0

ОК, поэтому вы хотите, чтобы текстовые фрагменты выглядели по-другому :-) Вы уже реализуете процедуру делегирования textViewDidEndEditing. Как вы определили TextView (ы) (в xib-файле, или вы создали их динамически в коде)? – trumpetlicks

ответ

0

Я не знаю, что взаимодействие с пользователем вам нужно, но если вы просто отображать текст для пользователя, но вы могли бы заменить вашу UITextView с UIWebView (загрузка статического текста с помощью loadHTMLString:baseURL:, используя HTML-разметку для установки цвет текста)? Я ссылаюсь на документацию UITextView:

Этот класс не поддерживает несколько стилей для текста. Шрифт, цвет, и атрибуты выравнивания текста, которые вы указываете, всегда относятся ко всему содержимому текстового вида . Чтобы отобразить более сложный стиль в вашем приложении , вам нужно использовать объект UIWebView и отобразить содержимое с помощью HTML.

Если вам действительно нужно сделать это с помощью отдельных элементов управления пользовательского интерфейса (гораздо более сложным, чем просто с помощью UIWebView), вы не «вставить» в UILabel в тексте, а вы, вероятно, есть один элемент управления текст до точки изменения цвета, другой элемент управления для текста другого цвета или того, что у вас есть, другой элемент управления для остальной части текста. Он будет быстро прическа (если он не был выложен как сетка, и даже тогда это хлопот по сравнению с UIWebView).

+1

Я думаю, что мы можем предположить, что stackiphone в реальном времени редактирует текст. К сожалению, интерфейс UIWebView не является текстовым элементом, поддерживающим ввод. Если он хочет ввести текст, ему, скорее всего, придется делать то, что он пытается сделать без UIWebView.Даже если UIWebView был способен на ввод, он должен был каким-то образом встать посреди потока ввода текста и динамически создать HTML-метку вокруг текста, чтобы его дисплей работал правильно. – trumpetlicks

Смежные вопросы