Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 显示隐藏按钮_Ios_Objective C - Fatal编程技术网

Ios 显示隐藏按钮

Ios 显示隐藏按钮,ios,objective-c,Ios,Objective C,请容忍我,因为我还在学习目标c的诀窍 我目前有一个按钮,按下时会隐藏iOS键盘。我想知道我怎么能做相反的事情。当选择一个文本字段时,键盘会自动出现——同时,我希望这个按钮也出现在屏幕上 谢谢 -(IBAction)done:(id)sender{ //... //... [Screen resignFirstResponder]; done.hidden = YES; }; 注册UIKeyboardWillShowNotification,如下所示: [[NSNotificationCente

请容忍我,因为我还在学习目标c的诀窍

我目前有一个按钮,按下时会隐藏iOS键盘。我想知道我怎么能做相反的事情。当选择一个文本字段时,键盘会自动出现——同时,我希望这个按钮也出现在屏幕上

谢谢

-(IBAction)done:(id)sender{
//...
//...
[Screen resignFirstResponder];
done.hidden = YES;
};
注册UIKeyboardWillShowNotification,如下所示:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
并在提供的方法中显示按钮:

-(void) keyboardWillShow:(NSNotification*)notification{
    done.hidden = NO;
}
不要忘记在解除锁定时移除观察者

[[NSNotificationCenter defaultCenter] removeObserver:self];
您必须使用NSNotification。在视图中实现addObserver将显示,在视图中实现removeObserver将消失


您可以使用UITextFieldDelegate方法来实现此目的,例如:

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    done.hidden = NO;    
    return YES;
}

希望能有所帮助。

请确保删除dealloc中的observer。当然-谢谢!我会更新我的答案,包括这一点,我认为这是明确的;是的,可能是这样,但为了防止初学者无意中发现这个答案,我认为将其包括在内可能会很有用:
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    done.hidden = NO;    
    return YES;
}