Как написать атрибутированный текст в двух UITextView

В моем приложении я хочу написать атрибут 15 Font Size (например, полужирный, курсив, подчеркнутый) в One UITextView.

И хотите, чтобы этот тот же текст был написан с размером шрифта 35 Атрибутированный текст в другом UITextView.

Я выполнил задачу «Запись текста всех атрибутов» в UITextView.

Но не понимаю, как написать один и тот же текст в другом UITextView в то же время с другим размером шрифта.
Мне нужно определить разные NSMutableParagraphStyle для обоих UITextView.

Мой код только для полужирного текста

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
 UIFont *font = [UIFont fontWithName:@"Helvetica-Bold" size:15];
    NSDictionary *attributes = @{NSFontAttributeName :font};
    [txtView1 setTypingAttributes:attributes];

 UIFont *font35 = [UIFont fontWithName:@"Helvetica-Bold" size:35];
    NSDictionary *attributes35 = @{NSFontAttributeName :font35};
    [txtView2 setTypingAttributes:attributes35];

NSMutableAttributedString *mat = [txtViewOfNotes.attributedText mutableCopy];
            [mat addAttributes:@{NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)} range:NSMakeRange (range.location-1, 1)];
txtView1.attributedText = mat;

NSMutableAttributedString *mat = [txtViewOfNotes.attributedText mutableCopy];
            [mat addAttributes:@{NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)} range:NSMakeRange (range.location-1, 1)];
txtView2.attributedText = mat;


}

Любая идея, код или учебник будут отличной помощью.


person Sam    schedule 12.02.2014    source источник
comment
Покажите код, который вы пробовали   -  person Samkit Jain    schedule 12.02.2014
comment
Вы можете попробовать одну вещь, использовать NSAttributedString, чтобы применить вашу схему шрифта custome.   -  person ManiaChamp    schedule 12.02.2014
comment
Не могли бы вы, ребята, увидеть мой приведенный выше код...   -  person Sam    schedule 12.02.2014
comment
Так. в чем проблема, которую вы видите ... текст не меняется для обоих или только для одного?   -  person Samkit Jain    schedule 12.02.2014
comment
Как вы устанавливаете атрибутированный текст?   -  person Samkit Jain    schedule 12.02.2014
comment
@SamkitJain Мне нужно написать текст в одном UITextView и я хочу получить этот текст в другом UITextView. но когда я набираю текст, я попал только в один UITextView, а не в оба. и если я делаю textview1.attributedText = textview2.attributedText. тогда размер шрифта не изменится.   -  person Sam    schedule 12.02.2014
comment
Попробуйте мой ответ ... это должно сработать @Sam   -  person Samkit Jain    schedule 12.02.2014
comment
@SamkitJain Не могли бы вы взглянуть на мое новое редактирование кода. все, что вы говорите, в порядке, но оно не работает со свойством атрибута setTypingAttributes и Underline.   -  person Sam    schedule 12.02.2014
comment
если у вас есть идея получить текст в одном UITextView и тот же текст в другом UITextView, сообщите мне. остальное я справлюсь.   -  person Sam    schedule 12.02.2014
comment
В том же методе делегата вам нужно просто получить текст из replaceText: (NSString *) text и установить текст для обоих textViews... попробуйте мой ответ, я делаю то же самое там   -  person Samkit Jain    schedule 12.02.2014
comment
Это работает сейчас...?   -  person Samkit Jain    schedule 12.02.2014
comment
Нет, и после того, как я попытаюсь использовать наблюдателя для вызова метода shouldChangeTextInRange. но это также дает мне ошибку NSInvalidArgumentException.   -  person Sam    schedule 12.02.2014
comment
Если у вас есть идентификатор Gmail, давайте поговорим по адресу [email protected].. я вам помогу   -  person Samkit Jain    schedule 12.02.2014
comment
Я послал тебе приглашение.   -  person Sam    schedule 12.02.2014


Ответы (1)


Я думаю, вам нужно добавить атрибуты, а затем изменить текст для обоих текстовых представлений. Итак, используйте следующее:

NSMutableAttributedString *title = [[NSMutableAttributedString alloc]initWithString:text];
UIFont *font = [UIFont fontWithName:@"Arial" size:15];
[title addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, title.length)];
titleView1.attributedText = title;

 UIFont *font = [UIFont fontWithName:@"Arial" size:35];
[title addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, title.length)];
titleView1.attributedText = title;
person Samkit Jain    schedule 12.02.2014