gpt4 book ai didi

iphone - 在 iOS 4 中选择单元格时,UISearchBar 键盘不会滑出 View

转载 作者:行者123 更新时间:2023-12-03 21:22:46 33 4
gpt4 key购买 nike

我有一个带有 UISearchBar 的 tableView。在升级到 iOS 4 之前,当用户选择一个单元格并推送新的 viewController 时,键盘会与表格一起滑出 View 左侧。

现在,它只是保留在屏幕上新 View 的顶部。如果我调用 [mySearchBar resignFirstResponder];我可以摆脱键盘,但动画很尴尬,因为在推送新 View 时它会从屏幕底部滑落。

有谁知道为什么 iOS 4 中的行为会有所不同?如何让键盘与 tableView 绑定(bind),以便在推送新 View 时键盘滑出屏幕?

谢谢!

编辑:以下是一些附加信息。我的 uisearchbar 位于导航栏后面。当用户按下按钮时它会滑出。我像这样添加 uisearchbar:

[self.navigationController.view insertSubview:self.mySearchBar belowSubview:self.navigationController.navigationBar];

我猜因为导航栏实际上并未被推送到下一个 View (尽管搜索栏确实如此),所以键盘保持在原位。

我尝试在 tableview 后面创建一个 uiview 并向其添加搜索栏,但由于 UINavigationController 和我的代码结构,我无法让它工作。

最佳答案

就我个人而言,我建议实现一个使用 UISearchDisplayController 的 SearchBar。我认为这实现了 xCode 使用的标准模板,并且非常顺利地处理所有响应程序。以下是您可以尝试复制到代码中并使用

执行的方法示例
[self addSearchBar:@"enter search keywords here" hasScope:NO]

推荐代码:

- (void) addSearchBar:(NSString*)placeholder hasScope:(BOOL)aScope {


UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
[searchBar sizeToFit];

//searchBar.delegate = self;
searchBar.placeholder = placeholder;
self.tableView.tableHeaderView = searchBar;

if (aScope==YES){
searchBar.showsScopeBar = YES;
searchBar.scopeButtonTitles = [NSArray arrayWithObjects:@"Flags",@"Listeners",@"Stations",nil];
}




UISearchDisplayController *searchDC = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];

// The above assigns self.searchDisplayController, but without retaining.
// Force the read-only property to be set and retained.
[self performSelector:@selector(setSearchDisplayController:) withObject:searchDC];

//searchDC.delegate = self;
//searchDC.searchResultsDataSource = self;
//searchDC.searchResultsDelegate = self;

[searchBar release];
[searchDC release];

}

关于iphone - 在 iOS 4 中选择单元格时,UISearchBar 键盘不会滑出 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3219339/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com