objective-c - iOS监听isFirstResponder的变化
天蓬老师
天蓬老师 2017-04-28 09:05:33
0
2
718

我想监听一个UISearchBar的isFirstResponder的值的变化,采用了如下代码:


[_searchBar addObserver:self forKeyPath:@"_isFirstResponder" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil];

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    NSLog(@"test");
    return ;
}

在UISearchBar的delegate方法中可以看到isFirstResponder确定已经改变了,但是却没有输出"test",用searchBar.observationInfo也可以看到该监听器确实是已经添加成功了,请问谁有没有碰到过这种情况?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

Antworte allen(2)
習慣沉默

并不存在“_isFirstResponder”这样的key!可以通过valueForKey或者是valueForKeyPath判断一下!如果想监听这种属性可以自定义UISearchBar,重写becomeFirstResponder和resignFirstResponder俩个方法,使用Notification或者delegate或者block传递消息

PHPzhong

建议可以了解下RAC,这个用RAC可以轻松解决。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage