iOS 7 UIDatePicker hauteur incohérence?

Je rencontre quelque chose de bizarre lorsque j'utilise des éléments UIDatePicker avec Storyboards dans iOS 7. Dans le Storyboard, le sélecteur de date a une taille fixe de 162. En réalité, cependant, l'élément occupe plus d'espace que cela. Donc ça

Storyboard

se transforme en ceci:

Simulateur

Je dois donc déplacer tout en dessous, en devinant et en surveillant l'espace que le sélecteur de date utilisera réellement. Est-ce un bug? Est-ce que je fais quelque chose de mal? Pour être clair, le sélecteur de date est totalement transparent – ne peut pas find un moyen de contourner cela. Le fond blanc en haut est le UIView principal, et le fond gris est l'arrière-plan du UITableView incorporé dans la vue du conteneur.

Je peux confirmer que l'utilisation de l' UI(Date)Picker dans les storyboards a une hauteur différente (162.0) que dans la "réalité" (216.0). Par conséquent, vous devez ajuster l'espace à la vue du conteneur pour correspondre à cette "vraie" hauteur du sélecteur de date ou essayer de le résoudre en utilisant la layout automatique.

Voici une astuce amusante que je viens de find: placez le UIDatePicker dans une vue dédiée avec une contrainte de 162 points de hauteur (ajoutez des contraintes verticales de 0 sharepointpuis le haut et le bas du sélecteur vers cette nouvelle vue d'set). Cela semble avoir pour effet de forcer le sélecteur à conserver la taille de 162 points.

Vous pouvez append l'option d'écrêter les sous-vues pour être sûr que le UIDatePicker n'échappera pas de sa nouvelle prison.

EDIT: après quelques tests supplémentaires, il semble qu'en ajoutant simplement une contrainte de hauteur de 162 points à UIDatePicker , il conservera sa "taille IB". Et, pour répondre au commentaire de @ Andrew, voici à quoi cela ressemblera:

Contrainte UIDatePicker à 162 points de hauteur

Vous pouvez changer la largeur et la hauteur en lui donnant simplement des contraintes de largeur et de hauteur. Sans faire cela, le UIDatePicker agit juste bizarre, j'ai trouvé.

La définition de la propriété clipsToBounds à YES sur mon object UIDatePicker m'a aidé.

 datePicker.clipsToBounds = YES; 

Pour les XIB, vous pouvez directement cocher la case pour les sous-vues du clip: