iOS 11 custom titleView size; autolayout seems to be ignored

Viewed 5829

I have a uinavigationbar as part of a navigationcontroller that I need to be 70 pixels high. Pre-iOS11 there are various solutions and I implemented one.

During the iOS 11 beta, I tried various ways of using autolayout to size the titleView. According to the WWDC talk, it should recognize width+height constraints within the titleview and accommodate them. It does not appear to do so.

It looks like it conflicts with the built in UILayoutGuide

(
    "<NSLayoutConstraint:0x60000008c760 UILayoutGuide:0x6000001acbe0'TitleView(0x7fe600c0a710)'.height == 44   (active)>",
    "<NSLayoutConstraint:0x61400008c6c0 EasyRelease.CustomTitleView:0x7fe606008e70.top >= UILayoutGuide:0x6000001acbe0'TitleView(0x7fe600c0a710)'.top   (active)>",
    "<NSLayoutConstraint:0x61400008c800 EasyRelease.CustomTitleView:0x7fe606008e70.centerY == UILayoutGuide:0x6000001acbe0'TitleView(0x7fe600c0a710)'.centerY   (active)>",
    "<NSLayoutConstraint:0x61400008bbd0 EasyRelease.CustomTitleView:0x7fe606008e70.height == 70   (active)>"
)

What gives? Is this feature not implemented correctly in iOS11, or am I missing something? Are there any known workarounds for adjusting titleview+uinavigationbar height?

edit: The way my code works, is I have added width + height constraints to the titleView. Is there anything else I should do? From the WWDC presentation this looked sufficient.

2 Answers
Related