Я знаю, что прошло много времени с тех пор, как вопрос был задан впервые, но я столкнулся с той же проблемой и в итоге нашел простое, но функциональное решение после рассмотрения ответа, опубликованного здесь .
Решение, которое работало для меня, было следующим:
// Set the line break mode to word wrap so it won't truncate automatically
[button.titleLabel setLineBreakMode: UILineBreakModeWordWrap];
// Call a method that truncates the string I want to use
[button setTitle:[self truncateString:myButtonText] forState:UIControlStateNormal];
И метод truncateString:
- (NSString *)truncateString:(NSString *)stringToTruncate
{
if ([stringToTruncate length] > 50)
stringToTruncate = [[stringToTruncate substringToIndex:50] stringByAppendingString:@"..."];
return stringToTruncate;
}
Таким образом, в основном я рассчитал количество символов, которое будет работать для моей кнопки, изатем вынуждает любую строку длиннее этой строки иметь «...» в конце.Я знаю, что это не идеальное решение, но я думаю, что оно может работать для некоторых из нас, надеюсь, это поможет.