KeyBoard隐藏方法我需要动画吗?

时间:2011-09-21 11:14:03

标签: iphone objective-c xcode cocoa-touch

实际上我有一个文本字段。

目的是使用视图和滚动视图显示和隐藏键盘。

一切都很好但是每当键盘隐藏视图时都没有任何动画。我的意思是我的iphone看起来很快就不好看。

我希望视图慢慢下降。!!!!

主要是我使用此代码..

CGPoint p=CGPointMake(0,0);
[srlvJuiceandSmoothireDetail1 setContentOffset:p animated:YES];

我可以设置动画持续时间,实际上我也不知道这种方法是否值得。

在键盘上显示它值得......

一些代码..为了参考...

- (void) keyboardDidHide:(NSNotification *)notif {
    if (!keyboardVisible_) {
        NSLog(@"%@", @"Keyboard already hidden.  Ignoring notification.");
        return;
    }

//    CGRect viewFrame = scrlView;
    srlvJuiceandSmoothireDetail1.frame = scrlView;
    CGPoint p=CGPointMake(0,0);
    [srlvJuiceandSmoothireDetail1 setContentOffset:p animated:YES];

    keyboardVisible_=NO;

   }

3 个答案:

答案 0 :(得分:2)

您可以设置某些UIView属性的动画,包括框架。有关如何完成此操作的详细信息,请参阅UIView的文档。

这是你可能想要的:

NSTimeInterval duration = [[[notif userInfo] valueForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];

[UIView animateWithDuration:duration animations:
^{
    srlvJuiceandSmoothireDetail1.frame = scrlView;
}];

答案 1 :(得分:0)

您是否尝试以这种方式隐藏键盘: 创建您查看的方法:

-(IBAction)hideKeyboard:(id)sender
{
    [*Your text filed* resignFirstResponder];
}

默认情况下,它会使键盘隐藏动画。 对不起,如果我不明白你的问题是正确的。

答案 2 :(得分:0)

实际上,如果我们使用UIKeyboardWillShow,则上述答案和通知将起作用而不是

UIKeyboardDidShow很好。

我也手动设置了持续时间。