用户登录
用户注册

分享至

没有动画的显示键盘

  • 作者: 遥遥无期74696531
  • 来源: 51数据库
  • 2023-02-09

问题描述

查看了UIKeyboardAnimationDurationUserInfoKey,但我只是找不到任何地方如何将其设置为自定义值.

Looked intoUIKeyboardAnimationDurationUserInfoKey but I just can't find anywhere how to set it to a custom value.

推荐答案

UIKeyboardAnimationDurationUserInfoKey 是保存动画时长的字典键的 const 字符串标识符,因此无法轻易更改.

UIKeyboardAnimationDurationUserInfoKey is a const string identifier for the dictionary key that holds the animation duration, so there is no way to change it easily.

让键盘在没有动画的情况下出现的一种方法是观察键盘通知并在动画即将出现时禁用动画,然后重新启用它们.当然,这也会禁用任何其他动画.

One way to make the keyboard appear without animation is to observe the keyboard notifications and disable animation when it's about to appear and then reenable them. This, of course, disables any other animation as well.

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(willShowKeyboard:) 
                                             name:UIKeyboardWillShowNotification 
                                           object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(didShowKeyboard:) 
                                             name:UIKeyboardDidShowNotification 
                                           object:nil];

- (void)willShowKeyboard:(NSNotification *)notification {
    [UIView setAnimationsEnabled:NO];
}

- (void)didShowKeyboard:(NSNotification *)notification {
    [UIView setAnimationsEnabled:YES];
}

然后 UIKeyboardWillHideNotification/UIKeyboardDidHideNotification 通知也是如此.

and then then the same for UIKeyboardWillHideNotification/UIKeyboardDidHideNotification notifications.

软件
前端设计
程序设计
Java相关