UICollectionView fails to honour zPosition and zIndex - iOS 11 only

Originator:foundry.tv
Number:rdar://34308893 Date Originated:7 September 2017
Status:Open Resolved:
Product:ios + SDK Product Version:ios 11
Classification: Reproducible:Yes
 
Area:
UIKit

Summary: Zindex and ZPosition are not honoured in CollectionView headers


Steps to Reproduce:
Set up a collectionView with a header and cells. Set the zPosition or zIndex of the header to position it below the level of the cells. 


Expected Results:
Header is positioned below the level of the cells

Actual Results:
Header is positioned above the level of the cells, as if the zIndex or zPosition had not been changed

Workaround:
Add a small delay before setting the zPosition (0.35s seems to work)

Version/Build:
This only occurs on iOS11 and only if building with XCode 9
Tested on XCode 9 beta 5 and XCode 9 beta 6. 
Simulator (SE and 6 tested) and Device (SE / ios11 beta).

Comments

A better workaround...

A better around is suggested in this StackOverflow reply:

"Set the header view layer's zPosition in willDisplaySupplementaryView".

No need to mess with hacky timers.

By foundry.tv at Nov. 24, 2017, 7:33 p.m. (reply...)

it seems fixed in iOS 11.1

I am still seeing the issue on iPad Air 2 (11.1.2), iPhone SE (11.2-beta 15C5110b))

By foundry.tv at Nov. 24, 2017, 7:40 p.m. (reply...)

update: building with XCode 9 GM and running on ios11 GM exhibits the same bug


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!