在表视图上方插入UITextField

时间:2013-10-11 17:25:29

标签: ios uitextfield uitableview

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

由于

1 个答案:

答案 0 :(得分: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 Reference

Table View Programming Guide