小编FAV*_*lia的帖子

UITableViewController中的UISearchController-Rows不可选,表视图显示为灰色

我试图让UISearchController在UITableViewController中工作.我以编程方式创建所有内容(即没有界面构建器).除了在搜索时,我无法选择任何表格单元格(-tableView:didSelectRowAtIndexPath:从未被调用),因此大多数情况下都应该正常工作.

但是,我不认为这是一个与代表有关的问题,也不认为该方法没有被调用的另一个常见原因; 在搜索时,包含搜索结果的表格视图显示为灰色(即不活动),我相信这就是我无法选择任何单元格的原因.

我的想法是UISearchBar被卡住了作为第一响应者,但我尝试了各种方式来辞去这种状态和/或试图迫使表视图成为第一响应者,但所有这些都带来了灾难性的结果.

这是我的UITableViewController子类的相关代码:

@interface SearchResultsTableViewController()

@property (copy, nonatomic) NSArray *searchResults;

@property (strong, nonatomic) UISearchController *searchController;

@end


@implementation SearchResultsTableViewController

- (NSArray *)searchResults
{
    // Lazy array instantiation
    if (!_searchResults)
    {
        _searchResults = [[NSArray alloc] init];
    }

    return _searchResults;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self setSearchController:[[UISearchController alloc] initWithSearchResultsController:nil]];
    [[self searchController] setSearchResultsUpdater:self];

    [[[self searchController] searchBar] setFrame:CGRectMake(0.0f, 0.0f, CGRectGetWidth([[self tableView] frame]), 44.0f)];
    [[[self searchController] searchBar] setSearchBarStyle:UISearchBarStyleMinimal];
    [[[self searchController] searchBar] setPlaceholder:@"Search Presentations"];
    [[[self searchController] searchBar] setDelegate:self];

    [[self tableView] …
Run Code Online (Sandbox Code Playgroud)

objective-c ipad ios ios8 uisearchcontroller

14
推荐指数
1
解决办法
2501
查看次数

标签 统计

ios ×1

ios8 ×1

ipad ×1

objective-c ×1

uisearchcontroller ×1