我有一个常规的 TableViewController 并想在上面添加一个 UITextField 来填充 TableView 数据。我如何以编程方式将其放置在单元格的正上方?
谢谢
我有一个常规的 TableViewController 并想在上面添加一个 UITextField 来填充 TableView 数据。我如何以编程方式将其放置在单元格的正上方?
谢谢
您可以将 UITextField 放在 UITableViewController 的标题中。
使用 UITableViewController Delegate 方法来设置标题的属性。
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
或者,您可以使用 UISearchBar。
UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 0)];
searchBar.delegate = self;
[searchBar sizeToFit];
tableView.tableHeaderView = searchBar;
然后,在 UISearchBar 委托方法中。
#pragma mark - UISearchBar Delegate Methods
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
// Remove the keyboard
[searchBar endEditing:YES];
// This method filters the data based on the search text.
[self filterDataUsingSearchText:searchBar.text];
}
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
// Remove the keyboard
[searchBar endEditing:YES];
// Clear the text on cancel
searchBar.text = @"";
}
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
// This method filters the data based on the search text.
[self filterDataUsingSearchText:searchText];
}
#pragma mark -
文档: