У меня проблема с динамическими ячейками изменения размера Apple, так что логика расположения моих ячеек не такая резкая и сухая, как только несколько сложены растущих UILabels.iOS Рассчитайте высоту для ячейки
В результате я не могу использовать параметр динамического изменения размера, который они предоставили, и поэтому мне нужно вручную вычислить высоту моей ячейки, используя методы NSString boundingRect.
Это хорошо - это работает, но мне нужно хранить множество констант, которые отслеживают мои ограничения макета. Я чувствую, что это противоречит интуитивному отношению к тому, что автомат должен делать для меня, поэтому я не уверен, что это правильный способ реализации heightForRowAtIndexPath.
Мне по существу нужно пойти и скопировать мои ограничения в константу, а затем использовать эти значения в методе класса для генерации моих высот. Apple дает очень мало внутреннего понимания того, как работает UITableViewAutomaticDimension, но ясно, что высота ячейки все еще вычисляется ДО того, как она выложена. Таким образом, я не могу добавить к нему какую-либо сложную логику, если не знаю, какие методы вызывают раньше.
Любые идеи о том, что я должен делать, или если мой подход в порядке?
«Логика расположения моих ячеек не такая резкая и сухая» - какова логика? – kelin
boundingRect - это неправильный способ вычисления метки (или любого другого) размера, -sizeToFit или -sizeThatFits: являются правильными – Andrea
@kelin У меня есть две метки. Если ширина левой метки нарезается на правую метку, переместите правую метку под левой меткой. Если левая метка берет несколько строк, также перемещайте правую метку под левой меткой. –