Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode 9 asset catalog Preserves Vector Data not working?

I thought the new Preserves Vector Data checkmark in the Xcode 9 asset catalog would finally give us resizing of vector PDF images, but apparently not. Here's my test image seen at two zooms in Preview:

enter image description here

enter image description here

Nice and sharp with lots of zoom, so clearly this is a vector image. But here's what two image views look like in my app:

enter image description here

So where's my vector data? Is this much-desired feature still missing in action? Does it still work only for the automatically generated 2x and 3x images? And if so, what does the Preserve Vector Data checkbox give us that we didn't have already?

like image 356
matt Avatar asked Aug 10 '17 20:08

matt


2 Answers

Edit: Still the same buggy behavior in Xcode 9 GM (9A235)

As of today (Xcode 9 beta 6 9M214v), the image will only be rendered properly (non-blurry) if the UIImageView has at least 3 spacing-related constraints.

eg. spacing to left, spacing to right, spacing to top, and another constraint to define the UIImageView height.

enter image description here

Note also that disabling autolayout completely will make all the UIImageView render incorrectly.

I filled rdar://34306192 (http://www.openradar.me/radar?id=4968083747766272) for this bug.

like image 86
Guillaume Algis Avatar answered Oct 01 '22 15:10

Guillaume Algis


I had the same issue multiple times with the new Preserves Vector Data.

Super simple solution that worked very well for me:

  1. Never set the UIImageView image property in Interface Builder, just leave it empty.
  2. Set the image value programmatically.

Hope it helps.

like image 26
Fmessina Avatar answered Oct 01 '22 13:10

Fmessina