elp*_*elp 13 iphone protocols objective-c uitextfield ipad
我搜索了很多谷歌搜索和heree,但没有任何用处.
我有两个文本域,我无法识别哪一个失去了焦点.
我尝试了所有选项,但没有.
这里textFieldDidEndEditing:
- (void) textFieldDidEndEditing:(UITextField *)textField {
NSLog(@"%@", [textField state]);
NSLog(@"%d", [textField isSelected]);
NSLog(@"%d", [textField isFirstResponder]);
NSLog(@"%d", [textField isHighlighted]);
NSLog(@"%d", [textField isTouchInside]);
if ( ![textField isFirstResponder] || ![textField isSelected] ) {
//if ( [textField state] != UIControlStateSelected) {
NSLog(@"not selected!");
[...]
// remove view / etc...
}
}
Run Code Online (Sandbox Code Playgroud)
所有NSLog都返回0!为什么?!?
我如何检测丢失的焦点?每次按下键盘按钮时都会调用此方法,不仅仅是在结尾!
还有其他选择吗?
编辑:
我不想切换文本,但我想在屏幕上点击任何时候检测丢失的焦点.(键盘将关闭或不关闭,插入符号不在文本字段中)!
谢谢.
要处理点击外部文本字段,您可以touchesBegan在视图控制器中覆盖:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event
{
UITouch *touch = [[event allTouches] anyObject];
if ([textField1 isFirstResponder] && (textField1 != touch.view))
{
// textField1 lost focus
}
if ([textField2 isFirstResponder] && (textField2 != touch.view))
{
// textField2 lost focus
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18131 次 |
| 最近记录: |