objective-c - 在点击 UISearchBar 控件时,它会自动调用 UISeachBar 控制器的 shouldEndEditing Delegate
问题描述
在调用UISearchBar
Begin Editing 时,在 popover 控制器出现之后 popover 消失并隐藏键盘。它在没有任何 ENTER 键的情况下调用 EndEditing 下面的代码显示了UISearchBar
Controller的 ShouldBeginEditing 委托
示例代码:
-(BOOL)searchBarShouldBeginEditing:(UISearchBar*)searchBar
{
if([searchBar isEqual:_normalSearch_SearchBar])
{
[[KeyboardHideShow getInstance] setScrollRectToThisFrame:[searchBar convertRect:searchBar.frame toView:self.scrollView]];
if(!self->_normalSearchPopOverController)
{
[[KeyboardHideShow getInstance] setUp_With_ScrollView:nil];
[self setTableViewController:[[UITableViewController alloc] initWithStyle:UITableViewStylePlain]];
[self->_tableViewController.tableView setDelegate:self];
[self->_tableViewController.tableView setDataSource:self];
[self addTransparentView_For_NormalSearch_And_AdvancedSearch];
//To add the transparent view
[self setNormalSearchPopOverController:[[UIPopoverController alloc] initWithContentViewController:self->_tableViewController]];
[self->_normalSearchPopOverController setDelegate:self];
[self->_normalSearchPopOverController setPopoverContentSize:CGSizeMake(POPOVERWIDTH,350)];
[self->_normalSearchPopOverController presentPopoverFromBarButtonItem:self->_searchBarButtonItem permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
return YES;
}
}
return NO;
请在上面的示例中提出我的代码错误的地方,并随时询问有关代码的任何说明。代码可以在 Xcode v8 上正常工作,但不能在 Xcode 10 和 Xcode 11 上工作。
解决方案
推荐阅读
- c# - Microsoft Bot Emulator 未直观显示消息
- ios - 如何在 Swift 中使用 drive_API v3 更新/重命名 Google Drive 的文件?
- python - 如何在 discord.py 中获得反应表情符号?
- javascript - 错误:uncaughtException:未定义原始
- azure-storage - 找不到将存储的访问策略关联到 SAS 的位置
- android - 在 VS App Center 中创建的本机应用程序在启动时崩溃(Android)
- listview - Delphi Firemonkey TListview - 标题不显示是否重复
- microservices - 如何使用速率限制器/断路器(架构问题)
- html - 如何摆脱部分标签之间的空白?
- visual-studio - 多公会成员日志 discord.js v12