在xib中添加UISearchBar作为tableHeaderView不起作用
我说UISearchBar
作为tableHeaderView为UITableView
在厦门国际银行,通过只是删除UISearchBar
到UITableView
。 当表格超过6行时,它工作正常。 但是当行少于6行时, UITableView
不会滚动。
同时,如果我使用以下语句在.m文件中以编程方式将UISearchBar
作为tableHeaderView添加为UITableView,则一切正常。
tableViewTemp.tableHeaderView = searchBarFriends;
看起来很奇怪,可能是什么问题?
请指教,谢谢。
这是我做的一个小窍门;)不要让你的SearchBar成为你的UITableView的子视图。 只需将它们的实例添加到您的nib文件中,并将它们作为IBOutlets连接到您的UITableViewController中即可。 然后你要做的就是将SearchBar设置为表格的标题视图,这样你就不必担心框架重叠并干扰触摸事件。 这是你如何做到的:
在TableView头文件中创建属性
@property ( nonatomic, retain ) IBOutlet UISearchBar *searchBar;
为你的表设置标题视图:
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
return self.searchBar; // The property you wired up in IB
}
设置标题或(UISearchBar)的高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 44; // The height of the search bar
}
这就是你需要的。 现在如果你有一个分组的tableview或者一个有多个部分的表格,但是它是一个简单表格的干净解决方案,这可能不是最好的解决方案。 否则,你必须调整搜索框的框架和代码中的tableview,因为它们重叠,这就是为什么你有触摸问题。 希望这可以帮助!
如果你添加像下面的层次结构的搜索栏,它将起作用
我有几乎相同的问题(对我来说,它不会滚动任何行数,但它会一旦我删除搜索栏)。 修正了它在viewDidLoad
添加:
self.tableView.alwaysBounceVertical = YES;
链接地址: http://www.djcxy.com/p/9565.html