La modification d'une UITableView de défilement des encarts de programme, afin de tenir compte de la taille d'un iPhone clavier
Je sais que vous pouvez utiliser le bouton "Inset" propriété dans Interface Builder pour créer un défilement de vue, en retrait de la fenêtre principale, afin de ne pas descendre en dessous de contrôles existants sur l'écran comme une barre d'onglet, mais comment pouvez-vous le faire par programme pour ajuster lorsqu'un clavier est ajouté à l'écran? Actuellement, je me défiler la vue a des cellules sous le clavier, qui ne peut pas être atteint parce que la vue est encore l'enregistrement de la partie inférieure de défilement de la vue que le bas du téléphone, pas le haut du clavier.
OriginalL'auteur joshholat | 2009-08-21
Vous devez vous connecter pour publier un commentaire.
Vous ne devriez pas utiliser un trait de soulignement comme préfixe pour vos méthodes, car ils pourraient entrer en collision avec Apple propres méthodes. Vous devriez utiliser quelque chose comme _slf à la place.
là vous allez, enlevé le souligne 🙂
Super, merci 🙂
UIKeyboardBoundsUserInfoKey
est vieux. UtilisationUIKeyboardFrameBeginUserInfoKey
etUIKeyboardFrameEndUserInfoKey
OriginalL'auteur slf
Deux options. (quand vous dites de défilement point de vue, je pense que tu veux dire la vue de la table depuis le suggère le titre)
Utiliser un
UITableViewController
, si le clavier est ajouté à la vue de la table, je crois qu'il va faire le redimensionnement pour vousDans la zone de texte ou une zone de texte de protocole dans le
- (void)textFieldDidBeginEditing:(UITextField *)textField
méthode, redimensionner votre table de point de vue image et à la fin n'a finir de monter la définir ainsi (vous pouvez aussi le faire si ses un défilement de vue et pas une tableView)(void)textFieldDidBeginEditing:(UITextField *)textField
{
CGRect frame= tableView.cadre; //ou faire défiler la vue
cadre.taille.hauteur=frame.taille.hauteur - keyboardHeight;
tableView.frame=frame
}
(void)textFieldDidEndEditing:(UITextField *)textField
{
CGRect frame= tableView.cadre; //ou faire défiler la vue
cadre.taille.hauteur=frame.taille.hauteur+ keyboardHeight;
tableView.frame=frame
}
Espère que cette aide
pas vraiment. je pense que l'événement de clavier comme indiqué ci-dessous, ou d'être un délégué de la zone de texte sont à la fois fine et facile à mettre en œuvre...
OriginalL'auteur Daniel
Un autre moyen facile à l'aide de l'Interface du Générateur de code ou de
Les [la Vue de la Table de Taille de Pied de Hauteur] propriété à 200 (jouer avec cela pour votre mise en page). Effectivement cela rend le tableau plus grand que les poignées du cadre dans lequel ses contenus, permettant la table pour défiler vers le haut plus élevé que la normale.
Fonctionne très bien pour l'permettant à l'utilisateur de faire défiler le tableau en haut et en bas comme ils en ont besoin.
OriginalL'auteur nspire
je n'ai créer un petit projet qui permet de résoudre ce problème avec le clavier, dans mon cas, j'ai seulement besoin de faire de l'affichage de la table d'aller jusqu'lorsque le clavier s'affiche.
Espérons que cette aide!
http://git.io/BrH9eQ
OriginalL'auteur Jorge Vicente Mendoza