Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 单击文本字段从键盘键入文本时,将其动画设置为顶部_Ios_Uitextfield_Animated - Fatal编程技术网

Ios 单击文本字段从键盘键入文本时,将其动画设置为顶部

Ios 单击文本字段从键盘键入文本时,将其动画设置为顶部,ios,uitextfield,animated,Ios,Uitextfield,Animated,我是iOS新手,刚刚开始设计登录表单。当用户单击文本字段时,将显示隐藏文本字段的键盘,因此我无法看到文本字段。 因此,我如何在键盘出现时将文本字段动画设置为顶部。您可以试试这个-> - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { if (textField == ChatField) { [[NSNotificationCenter defaultCenter] addObserver:

我是iOS新手,刚刚开始设计登录表单。当用户单击文本字段时,将显示隐藏文本字段的键盘,因此我无法看到文本字段。 因此,我如何在键盘出现时将文本字段动画设置为顶部。

您可以试试这个->

- (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;
    }];
}

在建议的副本中有一些提示,但它似乎不能解决这个确切的问题,当然,这可能只是因为这个问题不够详细。您是否希望整个视图向上滑动?希望它可以滚动?只想让文本字段向上滑动?密码字段呢?你说的对。单击文本字段时,我希望特定文本字段向上滑动。。我不想在整个视野上滑动。。