Im работает над ios-приложением, используя объектив c, и у меня есть проблема с uilabel, с которой я мог бы использовать некоторую помощь. В основном у меня есть ярлык, который может изменять размер, чтобы он соответствовал тексту, который он будет отображать, но он имеет максимальную высоту, что может быть. сам ярлык имеет фиксированную ширину во все времена. я включил UILineBreakModeWordWrap и UILineBreakModeTailTruncation, чтобы сделать текст подходящим и усеченным, но это приводит к тому, что текст обрезает хвост слишком рано, когда у него осталось только одно слово. вместо того, чтобы переместить его на следующую строку, когда еще есть место, оно просто усекает его.uilabel tail truncation
self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, fixedWidth, 0);
self.lineBreakMode = UILineBreakModeWordWrap | UILineBreakModeTailTruncation;
self.numberOfLines = 0;
[self sizeToFit];
есть в любом случае найти, когда UILabel фактически усечение текста, так что я могу проверить высоту метки и добавить к нему, если есть еще место? Я всегда старался добавить лишнюю строку к высоте, когда есть место, и это позволяет избежать раннего усечения, но затем я оставил с несогласованным размером над всем ярлыком. любые идеи о том, что это будет большое спасибо
закончил тем, что получил размер, который был бы указан по ссылке, которую вы предоставили (sizeWithFont :), а затем установите режим linebreakmode в wordwrap или tail trunc в зависимости от того, было ли это на максимуме или нет, а затем использовалось sizetofit и отлично сработало спасибо – glogic
Nice tip по этой категории. Не знал, что это существовало раньше. – chakrit