我试图在我的 UITableview 的 tableHeaderView 中使用 UISearch 栏。此搜索功能在 iOS 6 上没有问题,但由于针对 7.0 SDK 构建,我在从另一个视图返回后点击搜索栏时出现崩溃。第一次查看搜索tableView,搜索栏按预期工作。但是,一旦我深入到详细视图,当我点击它时,搜索栏就会抛出一个 exc-bad-access 异常。在我的方案中使用 NSZombies 不会记录这种不良访问。这是设置标题视图的代码:
self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 44)];
self.searchController = [[UISearchDisplayController alloc]
initWithSearchBar:self.searchBar contentsController:self];
self.searchController.delegate = self;
self.searchController.searchResultsDataSource = self;
self.searchController.searchResultsDelegate = self;
self.tableView.tableHeaderView = self.searchBar;
属性self.searchBar
和self.searchController
都被声明为强引用。任何地方都收到无内存警告。iOS 7 中的 UISearchBar 或 tableHeaderView 有什么变化吗?值得注意的是,我正在向 UISearchBar 应用外观代理,但它在第一次加载时看起来和工作正常。