2013-10-26 247 views
0

我正在设计一个使用MKMapView和UISearchBar的iPhone应用程序,我的问题是我需要使键盘消失,当我触摸MapView或如果我点击取消按钮。UISearchBar没有响应触摸事件

我尝试使用代码:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 

    [searchBar resignFirstResponder]; 

} 

-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar 
{ 
    [searchBar resignFirstResponder]; 
} 

但这两个力的帮助。

下面是截图:

enter image description here

所以请别人帮我解决这个问题。提前致谢。

回答

1

在viewDidLoad中

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] 
              initWithTarget:self 
              action:@selector(dismissKeyboard)]; 

    [self.view addGestureRecognizer:tap]; 

在dismissKeyboard:

-(void)dismissKeyboard { 
      [SearchBar resignFirstResponder]; 
    } 

(当搜索栏是,负责键盘)

+1

它工作。谢谢。但有我的问题没有解决:(如果我点击取消按钮键盘正在消失罚款:-)另外我需要的键盘消失时,我触摸mapView,如果我按搜索按钮。请看我上面上传的ScreenShot。谢谢。 –

+0

是的,我知道了。等一下 。 – 2013-10-26 06:08:59

+0

请谢谢。 –

1

这里是更新一个不使用XIB文件:

.h文件:

enter image description here

.m文件:

enter image description here

希望这给你的洞察力。

+0

谢谢,但我没有使用userInterface(XIB)。即使那样我应该添加IBOutlet? –

+0

而且当我触摸mapView并且按下搜索按钮时,我还需要键盘消失。请看我上面上传的ScreenShot。谢谢。 –

+0

你刚才编码(没有Xib)来创建你的地图和搜索栏吗? – GenieWanted