gpt4 book ai didi

ios - KeyboardWillShowNotification 调用两次 ios 9

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:54:02 28 4
gpt4 key购买 nike

我正在使用 UIKeyboardWillShowNotification 来检测用户何时选择文本字段以及何时打开键盘。在 ios 8 和旧版本的 iOS 中它工作正常但今天我升级到 iOS 9 和 xCode 7。问题是在 iOS 现在选择每个文本字段后调用通知(而在 ios 8 中仅在选择第一个文本字段后调用) .

我对此进行了搜索,并找到了类似 Why is UIKeyboardWillShowNotification called every time another TextField is selected? 的帖子

但这与 iOS 9 无关(实际上在 iOS8 中一切都是正确的,通过升级我看到了问题)而且我也没有使用 inputAccessoryViews。

最佳答案

同样的问题。我的 View Controller 中有一些 UITexfield,当我使用 becomeFirstResponder 方法以编程方式为另一个文本字段留下一个文本字段时,再次调用 UIKeyboardWillShowNotification。即使键盘不再隐藏和显示。但是,不会调用 UIKeyboardWillHideNotification

我不知道为什么这个问题会出现在 iOS9 中,但我可以给你一个解决方法。我做了什么:我在我的 View Controller 中创建了一个 BOOL 属性:

@property (assign, nonatomic) BOOL keyboardIsShown;

在我的键盘观察者方法中:

- (void)keyboardWillHideNotification:(NSNotification *)notification {

self.keyboardIsShown = NO;
//rest of code
}


- (void)keyboardWillShowNotification:(NSNotification *)notification {

if(self.keyboardIsShown) {
return;
}

self.keyboardIsShown = YES;
//some code
}

如果有人有更清晰的解决方案来避免在 iOS9 中调用 becomeFirstResponder 时在另一个 UITextField 上多次调用 UIKeyboardWillShowNotification,我会采取它!

关于ios - KeyboardWillShowNotification 调用两次 ios 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32860151/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com