0

我有一个常规的 TableViewController 并想在上面添加一个 UITextField 来填充 TableView 数据。我如何以编程方式将其放置在单元格的正上方?

谢谢

4

1 回答 1

0

您可以将 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 -

文档:

UISearchBar 参考

表视图编程指南

于 2013-10-11T17:37:59.153 回答