iOS 11 sometimes rasterize UIImages with preserves-vector-representation=true

Originator:guillaume.algis
Number:rdar://34306192 Date Originated:07-sept.-2017 03:11 PM
Status:Open Resolved:
Product:iOS + SDK Product Version:11.0 beta 9 (15A5370a)
Classification:Serious Bug Reproducible:Always
 
Summary:
On iOS 11, UIImageView sometimes renders its image rasterized even when the image as `preserves-vector-representation` set to `true` in the assets catalog.

This occurs when the UIImageView has less than 3 "Spacing to nearest neighbor" autolayout constraints.

Steps to Reproduce:
1. Add a new image to your asset catalog
2. Set the image resizing mode to "Preserve Vector Data" (check the checkbox)
3. Add a UIImageView to a storyboard / nib, and set its image to the image added in step 1
4. Position the UIImageView with at most 2 "spacing" constraints
   (For example, a Vertical Spacing to Top, a Horizontal Spacing to Left, a Width, and a Height constraints)

Expected Results:
Regardless of the original image file size, the UIImageView renders the crisp, non-aliased version of the image, based on the vector data.

Actual Results:
The image is rendered as if the `preserves-vector-representation` property was set to false, with a rasterize version of the image enlarged to fit the UIImageView size. The result being a scale-up, blurry, aliased image.

Version:
11.0 beta 9 (15A5370a)

Notes:
Attached is a minimal sample project exhibiting the bug. The 2nd-to-top image has only 2 "spacing" constraint and is blurry, the bottom one has 3 "spacing" constraint and is crisp.

This is probably related to rdar://34279759 (http://www.openradar.me/radar?id=5005434293321728), as the conditions to reproduce the bug are the same.

Related SO question, were I discuss the bug with Matt Neuburg: https://stackoverflow.com/questions/45622894/

Comments

Using Version 9.0 beta 6 (9M214v)

By guillaume.algis at Sept. 7, 2017, 1:12 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!