Je développe une application iPhone dans laquelle je dois montrer un sélecteur de personnaliser dans le cas d'un événement de bouton. Mais je ne veux pas de valeurs codées en dur pour le frame de mon pickerView personnalisé. J'ai cherché et trouvé keyboardWillShow
la méthode userInfo de notification, mais dans mon cas je ne montre pas le clavier ainsi ne peux pas obtenir l'armature hors de lui. Quelqu'un peut-il m'aider à sortir pour obtenir le cadre de clavier que je peux utiliser pour mon sélecteur de personnaliser?Obtenir le cadre du clavier sans notification keyboardWillAppear userinfo, iOS
1
A
Répondre
2
Vous pouvez utiliser un UITextField
et appeler becomeFirstResponder
et immédiatement resignFirstResponder
dessus, ainsi il sera montré et caché sans réellement voir le clavier.
la méthode d'action du bouton ressemblera à ce qui suit:
@IBAction func showPickerView(sender: AnyObject)
{
let textField = UITextField()
view.addSubview(textField)
textField.becomeFirstResponder()
textField.resignFirstResponder()
textField.removeFromSuperview()
}
Et vous pouvez écouter la notification et obtenir la hauteur.
pour plus d'informations: Get height of iOS keyboard without UIKeyboardWillShowNotification
Quoi? Tu ne peux pas. Vous voulez que votre pickerView ait le même cadre que le clavier sans jamais afficher le clavier. Ensuite, faites votre picker. Regardez la même hauteur que le clavier et la largeur de l'écran. Vous devrez coder en dur la constante de contrainte ou la constante de hauteur de trame. – Brandon
Pour quoi faire? Je suis d'accord avec Brandon, vous pouvez simplement coder CGRect cadre de clavier correspondant exactement –
Possible dupliquer de [Obtenir la hauteur du clavier iOS sans afficher le clavier] (https://stackoverflow.com/questions/26981261/get-height-of-ios-keyboard -avec-affichage-clavier) –