gpt4 book ai didi

ios - tableHeaderView UISearchBar 不显示

转载 作者:行者123 更新时间:2023-11-28 22:06:03 26 4
gpt4 key购买 nike

我已经以编程方式向我的 UITableView 添加了一个 UISearchBar,它显示得非常好,直到我决定向我的 UITableView 添加一个偏移量以在加载 View 时隐藏 UISearchBar。我需要帮助再次显示它。

这就是我的代码的样子。

- (void)viewDidLoad
{
[super viewDidLoad];

self.tableView.contentOffset = CGPointMake(0.0f, 44.0f);

mySearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)];
mySearchBar.autocorrectionType = UITextAutocorrectionTypeNo;
mySearchBar.autocapitalizationType = UITextAutocapitalizationTypeNone;
mySearchBar.keyboardType = UIKeyboardTypeAlphabet;
mySearchBar.delegate = self;
self.tableView.tableHeaderView = mySearchBar;

// Create the search display controller
UISearchDisplayController *searchController = [[UISearchDisplayController alloc] initWithSearchBar:mySearchBar contentsController:self];
searchController.searchResultsDataSource = self;
searchController.searchResultsDelegate = self;

我不太确定从这里到哪里去。

最佳答案

此代码适用于 iOS6 和 iOS7。请注意,在 iOS7 中,您将失去 NavigationBar 的透明度

if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) {
self.edgesForExtendedLayout = UIRectEdgeNone;
}
[self.tableView setContentOffset:CGPointMake(0, mySearchBar.frame.size.height)];

如果您想在 iOS7 中保存默认透明度,请使用此代码:

- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];

if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) {

[self.tableView setContentOffset:CGPointMake(0, -20)];
}
else {
[self.tableView setContentOffset:CGPointMake(0, mySearchBar.frame.size.height)];
}
}

关于ios - tableHeaderView UISearchBar 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23943260/

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