我有一个简单的视图控制器,其中包含一个uisearchbar和一个uitable。 我的问题是,在搜索栏被点击时,我看到调用了委托函数searchBarShouldBeginEditing,但没有调用searchBarTextDidBeginEditing(因此键盘不会打开并且搜索不可编辑)。
我尝试实现委托函数searchBarShouldBeginEditing返回YES,将搜索栏设置为第一响应者,但是我无法使searchBarTextDidBeginEditing被调用...
有什么想法??
一些代码: controller.h
我尝试实现委托函数searchBarShouldBeginEditing返回YES,将搜索栏设置为第一响应者,但是我无法使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中,但我不认为这会导致所有这些麻烦......
编辑2:
非常奇怪的行为:将IBAction函数设置为UITextfield的TouchDown事件可以完美地工作,但将IBAction函数设置为EditingDidBegin永远不会被触发......
为什么这个事件不能被调用?