請耐心等待,因爲我仍在學習目標c的繩索。顯示隱藏按鈕
我目前有一個按鈕,當按下隱藏iOS鍵盤。我想知道如何才能做到與此相反。當選擇文本字段時,鍵盤自動出現 - 同時,我希望此按鈕也出現在屏幕上。
謝謝!
-(IBAction)done:(id)sender{
//...
//...
[Screen resignFirstResponder];
done.hidden = YES;
};
請耐心等待,因爲我仍在學習目標c的繩索。顯示隱藏按鈕
我目前有一個按鈕,當按下隱藏iOS鍵盤。我想知道如何才能做到與此相反。當選擇文本字段時,鍵盤自動出現 - 同時,我希望此按鈕也出現在屏幕上。
謝謝!
-(IBAction)done:(id)sender{
//...
//...
[Screen resignFirstResponder];
done.hidden = YES;
};
您將不得不使用NSNotification。實施addObserver
在viewWillAppear中和removeObserver
在viewWillDisappear
-(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;
}
寄存器爲UIKeyboardWillShowNotification
這樣的:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
,並在顯示方法按鈕提供:
-(void) keyboardWillShow:(NSNotification*)notification{
done.hidden = NO;
}
不要忘了與去除觀察員的dealloc
[[NSNotificationCenter defaultCenter] removeObserver:self];
您可以使用UITextFieldDelegate方法來實現這一目標,例如:
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
done.hidden = NO;
return YES;
}
希望這將有助於。
確保刪除dealloc中的觀察者。 – Logan
當然 - 謝謝!我會更新我的答案,包括這一點,我認爲這是明確的;) – robert
是的,它可能是,但以防萬一初學者偶然發現這個答案,我認爲它可能是有用的,包括它:) – Logan