我有一个 UITextField,当你点击它时会弹出一个键盘。我已经使用情节提要添加了 UITextField,现在我想在键盘弹出时禁用一个按钮。我怎样才能做到这一点?
禁用按钮:[self.howButton setEnabled:NO];
但是我应该把它放在哪里?
我有一个 UITextField,当你点击它时会弹出一个键盘。我已经使用情节提要添加了 UITextField,现在我想在键盘弹出时禁用一个按钮。我怎样才能做到这一点?
禁用按钮:[self.howButton setEnabled:NO];
但是我应该把它放在哪里?
您可以将您的键盘声明添加到notifacticon
,当它显示时,然后禁用按钮,当它隐藏时,然后启用按钮
在init中添加观察者
- (void)init
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide) name:UIKeyboardWillHideNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow) name:UIKeyboardWillShowNotification object:nil];
}
实现显示和隐藏方法
- (void)keyboardWillHide
{
[self.howButton setEnabled:YES];
}
- (void)keyboardWillShow
{
[self.howButton setEnabled:NO];
}
最后删除观察者,当类被释放时
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
注册 UIKeyboardWillShowNotification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow) name:UIKeyboardWillShowNotification object:nil];
在keyboardWillShow 方法中禁用您的按钮。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide) name:UIKeyboardWillHideNotification object:nil];
如果需要,您可以通过注册上述通知重新启用该按钮。