Мащабирането на iOS 9 UIImageView е непостоянно

Имам UICollectionView в приложението си. Всяка клетка е около една трета от ширината на екрана (в портретна ориентация) и е квадратна. Във всяка клетка има UIImageView, чийто режим е настроен на „Мащабиране за запълване“ (в IB) и има ограничения за всеки ръб, които го принуждават да запълни клетката.

В iOS 7 и 8 изображенията винаги биха запълнили перфектно всяка клетка.

В iOS 9 мащабирането варира всеки път, когато се появи изгледът, и понякога се променя, когато се щракне върху клетката:

  • изображенията понякога са малки и се намират в горния ляв ъгъл
  • изображенията понякога се мащабират, за да запълнят както трябва.
  • изображенията понякога са малко по-големи от клетката и променят размера си, когато клетката бъде избрана.
  • изображенията понякога изчезват напълно, когато се селектира клетка.

Ако по някакъв начин има значение, изображението се задава в метода cellForItemAtIndexPath на изгледа на колекцията по следния начин:

cell.artImageView.image = artImage;

Където "artImage" е UIImage. (Obj-C).

UIImageViews са доста прости и ясни. Apple "подобри" ли ги с някакво ново свойство, което трябва да задам? Наистина останах тук.

Актуализация: Опитах се да възпроизведа това в нов проект и не можах. Някакъв странен остатък от IB juju. Но пълната подмяна на контролера за изглед на колекция, изглед на клетка и изображение в IB не реши проблема.


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


Отговори (1)


Оказва се, че има допълнителен изглед, който не е "инсталиран" за класа на размера.

Имах това:

въведете описание на изображението тук

И го промени на това:

въведете описание на изображението тук

И сега всичко изглежда наред!

person inorganik    schedule 18.09.2015