ios – UISearch栏没有调用searchBarTextDidBeginEditing

前端之家收集整理的这篇文章主要介绍了ios – UISearch栏没有调用searchBarTextDidBeginEditing前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的视图控制器与uisearchbar和一个uitable.
我的问题是,当点击搜索栏时,我看到委托函数searchBarShouldBeginEditing被调用但不是searchBarTextDidBeginEditing(并且因为该键盘未打开且搜索不可编辑)

我试图实现委托函数searchBarShouldBeginEditing返回YES,将searchbar设置为第一响应者,但是我没办法调用searchBarTextDidBeginEditing …

知道会发生什么事吗?

一些代码

或者Controller.h

@interface ViewController : UIViewController <UISearchBarDelegate>
{
   UISearchBar * searchbar;
}

@property (nonatomic,retain) IBOutlet UISearchBar* searchbar;

@end

Controller.m或者

@synthesize searchbar;

- (BOOL)respondsToSelector:(SEL)sel {
    NSLog(@"Queried about %@",NSStringFromSelector(sel));
    return [super respondsToSelector:sel];
}

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {
    NSLog(@"searchBarShouldBeginEditing -Are we getting here??"); 
    return YES;  
}  
-(void) searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
    NSLog(@"searchBarTextDidBeginEditing -Are we getting here??");  
}

我的班级有很多代码(这肯定会影响搜索栏)但是如果有人遇到类似搜索栏的问题,那么它的响应就会非常苛刻;)

我试着只使用搜索栏进行简单的应用程序,显然它有效…

编辑:

测试了一下我发现它与uisearchbar没有关系,因为我添加了一个TextField得到相同的结果(只是调用了textFieldShouldStartEditing委托函数)

应用程序在UITabBar cotroller中有所有视图控制器,但我认为这不会导致所有这些混乱……

EDITING2:

真奇怪的行为:将IBAction函数设置为UITextfield的TouchDown事件可以很好地工作,但将IBAction函数设置为EditingDidBegin永远不会被触发…

为什么这个事件不能被调用

解决方法

你设置了委托属性了吗?
searchbar.delegate = self;
原文链接:https://www.f2er.com/iOS/329967.html

猜你在找的iOS相关文章