if ([_infoMedia.description length] > 270) {
NSRange labelLimit = [_infoMedia.description rangeOfString:@" " options:NSCaseInsensitiveSearch range:NSMakeRange(270, (_infoMedia.description.length - 270))];
_descTop.text = [_infoMedia.description substringToIndex:labelLimit.location];
_descBottom.text = [_infoMedia.description substringFromIndex:(labelLimit.location+1)];
} else {
_descTop.text = _infoMedia.description;
_descBottom.text = @"";
}
Хорошо, это поздний ответ, но, возможно, он может кому-то помочь.Приведенный выше код является приблизительным решением, которое я использовал в своем приложении.
_descTop - моя первая метка, а _descBottom - вторая метка.270 - это постоянный эквивалент чуть меньше среднего максимального количества символов, отображаемых в моем первом ярлыке _descTop.Я рассчитал это вручную, пытаясь использовать много разных строк, возможно, есть лучший способ сделать это, но это сработало неплохо.
Если строка, которую я хочу отобразить (_infoMedia.description), больше 270 символовЯ изолирую первые 270 символов плюс конец следующего слова в строке (путем поиска следующего пробела), в случае, если ограничение в 270 символов обрезает строку в середине слова.Затем я помещаю первую часть строки в свой первый ярлык, а вторую часть - во второй.
Если нет, я помещаю только глобальность строки в первый ярлык.
Я знаю, что это дурацкое решение, но оно сработало, и я не нашел лучшего способа сделать это.