Привет всем :) У меня есть один метод, который вырезает длинный текст после определенного количества слов. Это выглядит следующим образом:Отсутствует некоторые методы при смене с NSString на NSAttributedString
NSString *trimString(NSString *string, int length, Boolean soft) {
if(string == Nil || string.length == 0){
return string;
}
NSMutableString *sb = [[NSMutableString alloc]init];
int actualLength = length - 3;
if(string.length > actualLength){
// -3 because we add 3 dots at the end. Returned string length has to be length including the dots.
if(!soft) {
[sb appendString:[string substringToIndex:actualLength - 3]];
[sb appendString:@"..."];
return sb;
} else {
NSRange r = NSMakeRange(0, actualLength);
//NSRange range = [string rangeOfString:@" " options:NSBackwardsSearch range:r];
NSRange range = [string rangeOfCharacterFromSet:[NSCharacterSet characterSetWithCharactersInString:@" \n\r\t"] options:NSBackwardsSearch range:r];
[sb appendString:[string substringToIndex:range.location]];
[sb appendString:@"..."];
return sb;
}
}
return string;
}
Моя проблема в том, что я должен изменить все, чтобы NSAttributedString, но нет вещи, как «substringToIndex:» так что я могу изменить его .... ли вообще возможно Измени это?
Спасибо!
Вы можете использовать NSMutableAttributedString * attStr = [[NSMutableAttributedString alloc] initWithString: string ]; – Greg