iOS >> UITableViewCell Свойство ImageView >> ContentMode не имеет никакого эффекта

Во многих случаях достаточно использовать один из 4 стилей UITableViewCell "полки" для того, что мне нужно, за исключением одной "маленькой" раздражающей вещи: свойство cell.imageView.contentMode всегда имеет значение Scale to Fill. Если изображения имеют разные соотношения, это приводит к тому, что метки ячеек будут выдвигаться с разным x для каждой строки. Это выглядит некрасиво...

Если я пытаюсь исправить это в коде, скажем, в методе cellForRowAtIndexPath, обращаясь к свойству и присваивая его Aspect Fit, я не получаю предупреждения или ошибки, но он просто ничего не делает - то есть остается с Scale to Fill.

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

Кто-нибудь знает, как решить эту проблему с использованием стилей по умолчанию, без подклассов UITableViewCell?

1 ответ

В этой теме у вас есть пара решений для этого.

Однако вы обнаружите, что эти решения являются еще одним способом создания пользовательской ячейки. Или вам нужно создать ImageView во время выполнения или вы просто создаете пользовательскую ячейку. Насколько я знаю, это правильный способ сделать это. Я знаю, что это раздражает, но время, затрачиваемое на создание пользовательской ячейки, намного короче, чем поиск хакерских способов обойти эту проблему. Не борись за рамки:).

Другие вопросы по тегам