我知道becomeFirstResponder
設置焦點在控件上的方法,但是如何知道該控件(例如UITextView
)目前是否關注它?如何知道UITextView是否有焦點
編輯:問題是,我想(例如)改變UITextView的背景顏色,當它收到焦點,我應該在哪裏把isFirstResponder調用準確?我應該在這種情況下使用通知嗎?
非常感謝。
我知道becomeFirstResponder
設置焦點在控件上的方法,但是如何知道該控件(例如UITextView
)目前是否關注它?如何知道UITextView是否有焦點
編輯:問題是,我想(例如)改變UITextView的背景顏色,當它收到焦點,我應該在哪裏把isFirstResponder調用準確?我應該在這種情況下使用通知嗎?
非常感謝。
if([txtView isFirstResponder]){
//Has Focus
} else {
//Lost Focus
}
這是UITextView中的委託方法,
- (BOOL)textViewShouldBeginEditing:(UITextView *)aTextView{
//Has Focus
return YES;
}
這是失去焦點
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
if ([text isEqualToString:@"\n"]){
//Lost Focus
[textView resignFirstResponder];
}
return YES;
}
使用的UITextField委託方法。當文本框得到關注(bacame第一響應)
- (void)textFieldDidBeginEditing:(UITextField *)textField;
將被解僱,
,當它失去焦點
- (void)textFieldDidEndEditing:(UITextField *)textField;
將被解僱。
現在不能檢查,但沒有'isFirstResponder'屬性或其他東西? –
如果不存在,則爲UITextView子類添加一個ivar /屬性。然後覆蓋-becomeFirstResponder並設置標誌。 –
哦,是的,沒有注意這樣的屬性,是的,實際上有一個名爲isFirstResponder的屬性..你可以回答這個問題,所以你可能會被投票。 – JAHelia