objective-c – 在uisearchbar失去焦点时重新设置键盘

objective-c – 在uisearchbar失去焦点时重新设置键盘,第1张

概述我正在我的应用程序的导航栏中创建一个UISearchBar选项. 我的应用包含多个视图和子视图. 我有这个主视图,其他3个观点.其中一个是空的(现在),另外两个有关于它们的表格视图. 当我正在进行实际搜索或者在uisearchbar外面触摸/点击时,我希望我的键盘能够在我搜索和隐藏时显示. 我根据需要使用searchbardelegate. 我可以通过以下方式使用[searchBar resign 我正在我的应用程序的导航栏中创建一个UISearchbar选项.
我的应用包含多个视图和子视图.
我有这个主视图,其他3个观点.其中一个是空的(现在),另外两个有关于它们的表格视图.

当我正在进行实际搜索或者在uisearchbar外面触摸/点击时,我希望我的键盘能够在我搜索和隐藏时显示.
我根据需要使用searchbardelegate.

我可以通过以下方式使用[searchbar resignFirstResponder]隐藏键盘.

>按下返回键时.
>当我手动取消搜索时
>当我按任何键盘按钮进行搜索或取消时.
>当我触摸屏幕的空白部分时

- (voID)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{        UItouch *touch = [[event alltouches] anyObject];    if ([mySearchbar isFirstResponder] && [touch vIEw] != mySearchbar) {        [mySearchbar resignFirstResponder];    }    [super touchesBegan:touches withEvent:event];}

我似乎无法做到的是让它回应我的2个表格中的一个.或者当我重新填充主视图以包含完全不同的东西时.

我曾尝试更改touchesbegan方法,在触摸tablevIEws时重新调整搜索栏,但到目前为止它还没有工作.

亲爱的朋友先生,我已经尝试了其他几件事.谷歌,但这似乎是我需要的其他东西.

任何人都有任何想法,我可以做些什么来解决这个问题?

编辑:
看来这样,当使用断点时,touchesbegan-method会响应backgroundvIEw,但是当我触摸其中一个tablevIEws或导航栏(包含uisearchbar)时它没有响应.

解决方法 解决了!
- (BOol) searchbarShouldBeginEditing:(UISearchbar *)searchbar{    [self.myVIEwController1.customVIEw1 setUserInteractionEnabled:NO];    [self.myVIEwController2.customVIEw2 setUserInteractionEnabled:NO];       [searchbar setShowsCancelbutton:YES animated:[mySettings animation]];    return YES;   }

我开始在我的2个子视图上关闭userInteraction,此时我开始使用searchbar.

- (voID)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {        UItouch *touch = [[event alltouches] anyObject];    if ([self.mySearchbar isFirstResponder] && [touch vIEw] != self.mySearchbar)     {        [self.mySearchbar resignFirstResponder];        [self.myVIEwController1.customVIEw1 setUserInteractionEnabled:YES];        [self.myVIEwController2.customVIEw2 setUserInteractionEnabled:YES];    }    [super touchesBegan:touches withEvent:event];}

然后当我在searchbar外面点击/点击/触摸时,我首先重新设置键盘,这是第一个响应者仍然是在我为2个子视图重新设置userInteraction之后.
这样做的顺序至关重要!

这段代码允许你将键盘在一个mainVIEwController中重新签名,即使它挤满了大量的子视图.

总结

以上是内存溢出为你收集整理的objective-c – 在uisearchbar失去焦点时重新设置键盘全部内容,希望文章能够帮你解决objective-c – 在uisearchbar失去焦点时重新设置键盘所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1241729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存