Ios 单击文本字段从键盘键入文本时,将其动画设置为顶部
我是iOS新手,刚刚开始设计登录表单。当用户单击文本字段时,将显示隐藏文本字段的键盘,因此我无法看到文本字段。 因此,我如何在键盘出现时将文本字段动画设置为顶部。您可以试试这个->Ios 单击文本字段从键盘键入文本时,将其动画设置为顶部,ios,uitextfield,animated,Ios,Uitextfield,Animated,我是iOS新手,刚刚开始设计登录表单。当用户单击文本字段时,将显示隐藏文本字段的键盘,因此我无法看到文本字段。 因此,我如何在键盘出现时将文本字段动画设置为顶部。您可以试试这个-> - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { if (textField == ChatField) { [[NSNotificationCenter defaultCenter] addObserver:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if (textField == ChatField)
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardDidShowNotification object:nil];
}return YES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
if (textField == ChatField) {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardDidHideNotification object:nil];
}return YES;
}
- (void)keyboardWillShow:(NSNotification *)notification {
CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
float newVerticalPosition = -keyboardSize.height + 10;
[self moveFrameToVerticalPosition:newVerticalPosition forDuration:0.3f];
}
- (void)keyboardWillHide:(NSNotification *)notification
{
CGFloat kNavBarHeight = self.navigationController.navigationBar.frame.size.height;
float newVerticalPosition = kNavBarHeight -45;
[self moveFrameToVerticalPosition:newVerticalPosition forDuration:0.3f];
}
- (void)moveFrameToVerticalPosition:(float)position forDuration:(float)duration {
CGRect frame = self.view.frame;
frame.origin.y = position;
[UIView animateWithDuration:duration animations:^{
self.view.frame = frame;
}];
}
在建议的副本中有一些提示,但它似乎不能解决这个确切的问题,当然,这可能只是因为这个问题不够详细。您是否希望整个视图向上滑动?希望它可以滚动?只想让文本字段向上滑动?密码字段呢?你说的对。单击文本字段时,我希望特定文本字段向上滑动。。我不想在整个视野上滑动。。