Масштабирование iOS 9 UIImageView неустойчиво

У меня есть UICollectionView в моем приложении. Каждая ячейка составляет примерно треть ширины экрана (в портретной ориентации) и имеет квадратную форму. Внутри каждой ячейки находится UIImageView, режим которого установлен на «Масштабировать для заполнения» (в IB) и имеет ограничения на каждом ребре, которые заставляют его заполнять ячейку.

В iOS 7 и 8 изображения идеально заполняли каждую ячейку.

В iOS 9 масштабирование меняется каждый раз, когда появляется представление, а иногда и при нажатии на ячейку:

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

Если это как-то имеет значение, изображение устанавливается в методе cellForItemAtIndexPath представления коллекции следующим образом:

cell.artImageView.image = artImage;

Где «artImage» — это UIImage. (Обь-С).

UIImageView довольно просты и понятны. Apple «улучшила» их с помощью какого-то нового свойства, которое мне нужно установить? Здесь действительно застрял.

Обновление: попытался воспроизвести это в новом проекте и не смог. Какой-то странный остаточный IB juju. Но полная замена контроллера представления коллекции, представления ячеек и изображений в IB не решила проблему.


person inorganik    schedule 18.09.2015    source источник


Ответы (1)


Оказывается, было дополнительное представление, которое не было «установлено» для класса размеров.

У меня было это:

введите здесь описание изображения

И изменил его на это:

введите здесь описание изображения

И теперь все выглядит правильно!

person inorganik    schedule 18.09.2015