3

resignFirstResponderTextViewで使用するときに、iOSアプリでネイティブキーボードの消失を遅らせる方法はあるのだろうか。キーボードのダウンが速すぎるので、遅くしたいです。それは可能ですか?

編集: 私のコンテキストはこれです:現在のビューの上に新しいビューを追加します。これにより、キーボードが一時的に消えます。これが私のコードの外観です。

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIButton *tmpButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [tmpButton setTitle:@"Tap me" forState:UIControlStateNormal];
    [tmpButton sizeToFit];
    [tmpButton addTarget:self action:@selector(btnTestClicked) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:tmpButton];
}


- (void) btnTestClicked{
    [tmpText resignFirstResponder];
}

次のようなビュー階層もあります。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    self.window.windowLevel = UIWindowLevelStatusBar + 1;
    return YES;
}

アプリは本当にシンプルですが、他のビューがないときとは異なり、キーボードは非常に速く消えます。

4

2 に答える 2

4

シンプルだと思います:

- (void)btnTestClicked {
        [UIView animateWithDuration:2.0 animations:^(void){
            [tmpText resignFirstResponder];
        } completion:^(BOOL finished) {
              //Do something
        }];    
    }
于 2012-12-25T13:57:32.983 に答える
2
[UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
    [self.view endEditing:YES];
}completion:nil];
于 2012-12-25T13:48:37.767 に答える