显示隐藏的按钮

时间:2014-05-22 16:16:02

标签: ios objective-c

请耐心等待我,因为我仍在学习目标c的绳索。

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

谢谢!

-(IBAction)done:(id)sender{
//...
//...
[Screen resignFirstResponder];
done.hidden = YES;
};

3 个答案:

答案 0 :(得分:0)

注册UIKeyboardWillShowNotification,如下所示:

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

并显示所提供方法中的按钮:

-(void) keyboardWillShow:(NSNotification*)notification{
    done.hidden = NO;
}

不要忘记使用

删除dealloc中的观察者
[[NSNotificationCenter defaultCenter] removeObserver:self];

答案 1 :(得分:0)

您必须使用 NSNotification 。在 viewWillDisappear 中的 viewWillAppear addObserver中实施removeObserver

-(void)viewWillAppear:(BOOL)animated{
  [super viewWillAppear:animated];
  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
}

-(void)viewWillDisappear:(BOOL)animated{
  [super viewWillDisappear:animated];
  [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
}

-(void)keyboardWillShow:(NSNotification*)notification{
  done.hidden = NO;
}

答案 2 :(得分:0)

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

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

希望它会有所帮助。