A.,谢谢你的提示,我修改了代码,现在它可以工作了。这是工作代码:
/**
* Cette méthode affiche la toolbar pour terminer l'adition quand le clavier est affiché
*
* @param NSNotification notification Notification de l'émetteur
*/
- (void)keyboardWillShow:(NSNotification *)notification {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
CGRect frame = self.toolbarAction.frame;
frame.origin.y = self.parentViewController.view.frame.size.height - 260.0;
self.toolbarAction.frame = frame;
// Cette portion de code permet de remonter le scroll (à cause de la toolbar)
if (![[AppKit sharedInstance] isIPad]) {
CGRect tableFrame = self.tableView.frame;
tableFrame.origin.y = tableFrame.origin.y - 50;
self.tableView.frame = tableFrame;
}
[UIView commitAnimations];
// Action pour les keyboards
self.toolbarDoneButton.tag = 1;
}
/**
* Cette méthode cache la toolbar lorsque le clavier n'est plus affiché
*
* @param NSNotification notification Notification de l'émetteur
*/
- (void)keyboardWillHide:(NSNotification *)notification {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
CGRect frame = self.toolbarAction.frame;
frame.origin.y = self.parentViewController.view.frame.size.height;
self.toolbarAction.frame = frame;
// Cette portion de code permet de rebaisser le scroll (à cause de la toolbar)
if (![[AppKit sharedInstance] isIPad]) {
CGRect tableFrame = self.tableView.frame;
tableFrame.origin.y = tableFrame.origin.y + 50;
self.tableView.frame = tableFrame;
}
[UIView commitAnimations];
}
解决这个问题的有趣部分是:
CGRect tableFrame = self.tableView.frame;
tableFrame.origin.y = tableFrame.origin.y - 50;
self.tableView.frame = tableFrame;