Как получить / рассчитать ширину поля сгруппированного UITableView на iPad или iPhone - PullRequest
2 голосов
/ 13 марта 2011

У меня есть сгруппированное табличное представление, которое я использую для отображения нескольких свойств модели. Эти свойства могут быть длинными, поэтому я вычисляю высоту ячеек в tableView:heightForCellAtIndexPath:, используя метод NSString's sizeWithFont:constrainedToSize:lineBreakMode:. Сейчас я делаю приложение универсальным, поэтому мне нужно передать правильную ширину ячейки этому методу. И я не могу просто использовать tableView's ширину, так как ее «поля» намного шире на iPad.

Вторая проблема с этими полями, которые у меня есть, заключается в том, что у меня есть пользовательский UIView для раздела в этом tableView, и я не хочу выравнивать его содержимое с содержимым ячеек.

Итак, вопрос: как мне получить или рассчитать ширину полей в сгруппированном UITableView?

Ответы [ 2 ]

1 голос
/ 14 марта 2011

Я думаю, что вы можете установить ширину вместо того, чтобы вычислять что-то подобное

CGSize constraintSize;
constraintSize.height = CGFLOAT_MAX;

if (isItIpad)
constraintSize.width = 500.0f;
else if (group=1)
constraintSize.width = 250.0f;
end if 

и использовать это в вашем sizeWithFont: constrainedToSize: lineBreakMode:

или вы можете вычислить max (или min)ширина в группе (sizeWithFont :) и использовать ее

0 голосов
/ 04 июня 2011

Я использовал следующее в своем приложении (оно также поддерживает изменение ориентации):

CGSize constraintSize = CGSizeMake(self.view.frame.size.width - 40.0f, MAXFLOAT);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...