В UITableView
, который должен отображать длинный список чатовских разговоров, часто содержащих emojis, возникает ошибка расчета размера.
Моя проблема в том, что если строка имеет только правильную длину, и я использую sizeWithFont
, я при первом измерении, используя sizeWithFont
, получаю неправильную длину строки, вызывая "разлад строки".
Я предполагаю, что это потому, что строка ":-)" шире, чем значок смайлика.
Свидетельства можно увидеть здесь:
Теперь, в некоторых других стеках, некоторые утверждают, что sizeWithFont
будет учитывать только строку, а не Emoji, которая для меня не имеет смысла, поскольку она правильна "в конце концов"...
Но вместо этого они предлагают использовать sizeToFit, поэтому я решил отложить его.
Bam, тот же результат.
Кто-нибудь знает, как противостоять этому? Есть ли boolean
, чтобы проверить, выполнено ли "Ярлык, обработанный emoji", поэтому я могу пропустить этот вызов?
Выполнение одной и той же строки дважды ничего не делает, кажется, что нужно отобразить представление, прежде чем sizeWithFont
осознает свою ошибку.
Показанный столбец выполняется в сегменте - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
в пользовательской ячейке. Я могу реплицировать ошибку на совершенно регулярном UITableViewCell, так что, похоже, это не так.