我正在编辑UITableview单元格,但在编辑期间我调用Keyboard会显示方法。课程后Textfield成功移动。但我不会移动UINavigationBar。 我怎样才能做到这一点。
由于
以下代码我正在使用:
if (KeyboardShowStatus) {
NSNumber *duration = [note.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSNumber *curve = [note.userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey];
// get a rect for the textView frame
CGRect containerFrame;
if ([DataProvider sameInstance].systemVersion < 7) {
containerFrame = CGRectMake(self.view.frame.origin.x,20,self.view.frame.size.width,self.view.frame.size.height);
containerFrame.origin.y = self.view.bounds.size.height - containerFrame.size.height + 20;
}
else
{
containerFrame = self.view.frame;
containerFrame.origin.y = self.view.bounds.size.height - containerFrame.size.height;
}
// animations settings
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:[duration doubleValue]];
[UIView setAnimationCurve:[curve intValue]];
// set views with new info
self.view.frame = containerFrame;
// commit animations
[UIView commitAnimations];
}
答案 0 :(得分:0)
您可以将UITextField
和其他控件置于主UIView
的另一个视图下,并更改该视图的Y
位置。
你的故事板结构看起来像,
现在在你的代码中最后更改一些行,如
// animations settings
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:[duration doubleValue]];
[UIView setAnimationCurve:[curve intValue]];
// set views with new info
self.ViewToMove.frame = containerFrame;
// commit animations
[UIView commitAnimations];
希望这对你有所帮助。
享受编码!!
答案 1 :(得分:0)
UITableViewController
键盘,请移动您的
细胞自动上升。如果这是真的,可能是有意义的
设置accessoryView
对象的UITextField
属性,使其成为UIViewController
或任何其他不支持滚动的内容,则可能值得查看
关注小型图书馆:IHKeyboardAvoing