2013-12-12 1 views
1

Я использую приведенный ниже код, чтобы добавить NSMutableParagraphStyle в lable, но этот код отлично работает на iOS7, но дает ошибку на iOS 6. Я также добавил чек, но все равно он сбой приложения.'NSAttributedString недействителен для авторезистировки, он должен иметь единый стиль абзаца (или none) с не-wrapping lineBreakMode.'

Нагрузочного приложение из-за неперехваченное исключение «NSInternalInconsistencyException», причина: "NSAttributedString недопустим для автоматического изменения, он должен иметь один охватывающий стиль абзаца (или без него) с непостоянным оберточной lineBreakMode.

if ([_precherDetailLabel respondsToSelector:@selector(setAttributedText:)] && NSClassFromString(@"NSMutableParagraphStyle")!=Nil) 
{ 
    @try { 

     NSMutableParagraphStyle *paragrahStyle = [[NSMutableParagraphStyle alloc] init]; 
     [paragrahStyle setLineSpacing:3]; 

     NSMutableAttributedString *attributedString=[[NSMutableAttributedString alloc] initWithString:string]; 
     [attributedString addAttribute:NSParagraphStyleAttributeName 
            value:paragrahStyle 
            range:NSMakeRange(0, attributedString.length)]; 
     _precherDetailLabel.attributedText=attributedString; 

    } 
    @catch (NSException *exception) { 
     NSLog(@"exception # 2324 %@",exception); 
    } 
} 
+0

Http: // StackOverflow. ком/Цюй estions/3786528/iphone-ipad-how-just-use-nsattributedstring –

+0

Я хочу, чтобы этот метод корректно работал на iOS6 или он не должен запускаться из-за проверок, и почему эта ошибка наступает –

+0

ok Позвольте мне попробовать проследить его –

ответ

5

попробовать этот

[_precherDetailLabel setAdjustsFontSizeToFitWidth:NO]; 

может быть, даже только для iOS6

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { //* 
     [_precherDetailLabel setAdjustsFontSizeToFitWidth:NO]; 
} 
+0

в порядке, я нашел проблему, я просто делаю авторезку размера текста для метки фиксированным шрифтом, тогда он работал - –

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