2017-09-18 2 views
0

Dans toutes les versions d'iOS - y compris toutes les bêta d'iOS 11.0 à l'exception du GM, 15A372 - les vues à l'intérieur des titleViewUINavigationItem recevraient des événements tactiles normalement, ce qui permet d'avoir des boutons dans la vue du titre.iOS 11.0 GM: Les sous-vues du titre de UINavigationItem ne reçoivent pas d'événements tactiles?

Dans la version 15A372, les sous-vues du titleView ne reçoivent aucun événement tactile, les boutons de cette vue sont donc inutiles. J'ai testé avec des appareils et des simulateurs exécutant iOS 10 et ne vois pas ce comportement. J'ai ouvert rdar://34499607 à ce sujet et mettra à jour cette question quand je l'ai entendu revenir, mais je veux savoir si quelqu'un d'autre a rencontré cela, ou a des solutions temporaires.

Le document documentation about the titleView property d'Apple indique spécifiquement que «les vues personnalisées peuvent contenir des boutons», ce qui complique la situation.

Si tel est le comportement prévu, il est exaspérant d'avoir attendu la quasi-dernière minute pour effectuer ce changement significatif et de ne pas l'inclure dans les notes de publication ou de documentation.

Répondre

2

Vous pouvez voir cette question link

+1

Merci! Bien que ce soit en chinois, ce lien avait exactement ce que je cherchais. Pour tout le monde avec ce problème, le problème était que la valeur de 'titleView' était mise à 0. Sous-classer' UIView' et surcharger 'intrinsicContentSize' m'a permis de redimensionner le' titleView', ce qui permet de toucher à nouveau. –

2

Juste passer outre la propriété intrinsicContentSize dans votre vue:

importation UIKit

classe HeaderView: UIView {

override var intrinsicContentSize: CGSize { 
    return CGSize(width: 400, height: 55) 
} 

}

+0

Comme je l'ai dit dans mon commentaire sur la réponse acceptée, c'est correct. –