UISearchBar没有辞职

时间:2014-03-07 17:05:51

标签: ios objective-c delegates uisearchbar

我有一个searchBar,我设置了delegate = self和委托方法“endEditing”写了一些动作。在didBeginEditing上,我设置了一个touchGesture作为背景触摸来重新调整searchBar插座。在触摸操作上,我重新调整了searchBar的响应者,但由于某种原因,它会结束编辑。我可以告诉它,因为它执行添加到didEndEditing的操作。我错过了什么?提前谢谢你..

-(void) searchBarTextDidBeginEditing:(UISearchBar *)searchBar{
[_searchBarOut becomeFirstResponder];
UIView *view1 = [[UIView alloc] initWithFrame:self.view.bounds];
[view1 setBackgroundColor:[UIColor colorWithWhite:.5 alpha:.5]];
[view1 setTag:20];
[view1 addGestureRecognizer:searchTap];
[view1 setAlpha:0];
[self.view addSubview:view1];
[self.view bringSubviewToFront:_searchBarOut];
[UIView animateWithDuration:.3 animations:^{

    [view1 setAlpha:1];

    [self.view setFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y - 100, self.view.frame.size.width, self.view.frame.size.height)];

} completion:^(BOOL finished) {



}

-(void) searchBarSearchButtonClicked:(UISearchBar *)searchBar{
[searchBar endEditing:YES];

}

-(void) searchTap:(id) sender{
[_searchBarOut resignFirstResponder];
UIView *view1 = (UIView *)[self.view viewWithTag:20];

if ([_searchBarOut isFirstResponder]){
    [UIView animateWithDuration:.3 animations:^{
        [view1 setAlpha:0];
    } completion:^(BOOL finished) {
        [view1 removeFromSuperview];

    }];
}
}

-(void) searchBarTextDidEndEditing:(UISearchBar *)searchBar{
[_searchBarOut resignFirstResponder];
UIView *view1 = [(UIView *) self.view viewWithTag:20];
[UIView animateWithDuration:.3 animations:^{

    [view1 setAlpha:0];

    [self.view setFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y + 100, self.view.frame.size.width, self.view.frame.size.height)];
} completion:^(BOOL finished) {
    [view1 removeFromSuperview];

    [self pushWithString:searchBar.text];
}];
}

0 个答案:

没有答案