iMessage app safe area insets are set incorrectly

Number:rdar://33320079 Date Originated:14-Juli-2017 08:01 PM
Status:Open Resolved:
Product:iOS + SDK Product Version:11.0 beta 3
Classification:UI/Usability Reproducible:Always
In an iMessage app, the view of the MSMessagesAppViewController subclass is automatically resized by the system according to the presentationStyle (.compact or .expanded). However, the safeAreaInsets and the height in .expanded style are incorrect.

Steps to Reproduce:
Run the attached sample app. The app prints the frame and the safeAreaInsets of the root view in a label. The app also displays a red border within the root view.

Expected Results:
In .compact and .expanded mode, the insets should be {32, 0, 0, 44}.
In .expanded mode, the frame height should be 635.
The root view should be moved 32 pt to the top.
The top and bottom bar should be translucent, so that the red border is visible (blurred) behind the bars.

Actual Results:
In .compact and .expanded mode, the insets are {0, 0, 0, 76}.
In .expanded mode, the frame height is be 603.
The root view y origin begins below the top bar.
The bars are opaque.

11.0 beta 3

Of course Apple might decide to make one or both bars opaque, not translucent. However, the frames and safe area insets should be consistent. Right now, either in .compact or in .expanded style the height is wrong.

See also the attached, annotated screenshots within the project folder.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at 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!