Je vais répondre à ma propre question. Fondamentalement, la mise en page automatique fonctionne comme vous vous y attendez. Cependant, le gotcha est que chaque élément doit avoir des contraintes pour spécifier sa largeur ou il a besoin de sa taille intrinsèque spécifiée. Par exemple, si vous avez remplacé la barre de recherche par un uilabel, la vue de titre personnalisée correspondrait correctement à l'étiquette. La barre de recherche n'a apparemment pas de taille intrinsèque, donc quelque chose doit contrôler sa croissance.
J'ai mis une étiquette derrière la barre de recherche et je l'ai contrainte sur les bords supérieur, inférieur, principal et arrière de la barre de recherche. J'ai donné le UILABEL ALOT du texte et l'ai placé de sorte qu'il tronquerait quand il y a trop de texte. Lorsque j'ai exécuté l'application, la barre de recherche avait une largeur différente de zéro et la modification vers et depuis le paysage rétrécissait et étirait la barre de recherche comme souhaité. Le bouton s'effondrerait toujours à 0 largeur, mais il est facilement fixé en réglant la résistance à la compression plus élevée que l'uilabel.
C'est un peu un hack d'ajouter un UILabel factice à cet effet, je sais. Je serais ouvert à toutes les alternatives ...
Voici un example project.
La réponse proposée ne fonctionne que dans iOS 11. Chaque os avant n'étendre titleview personnalisé donc une mise en page personnalisée sera nécessaire. – DerrickHo328