Tambahkan UISearchController di bilah navigasi iOS

Saya tidak dapat menambahkan Pengontrol UISearch di bilah navigasi iOS 9.. Ada banyak di internet tetapi tidak ada yang berfungsi..

Kodenya adalah..

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
    searchController.searchResultsUpdater = self;
    searchController.delegate = self;
    searchController.searchBar.delegate = self;
    searchController.hidesNavigationBarDuringPresentation = NO;
    searchController.dimsBackgroundDuringPresentation = YES;

    self.navigationItem.titleView = searchController.searchBar;

    self.definesPresentationContext = YES;

}

-(void)updateSearchResultsForSearchController:(UISearchController *)searchController{}

person Aryan Kashyap    schedule 25.05.2016    source sumber


Jawaban (1)


Kamu harus menggunakan. Pada kode Anda di atas, Anda menetapkan nihil untuk itu. Jadi tidak bisa init.

[searchController = [UISearchController alloc] initWithSearchResultController:self]

Berikut kode untuk iOS 8/9:

UISearchController *searchController = [[UISearchController alloc] initWithSearchResultsController:self];
// Use the current view controller to update the search results.
searchController.searchResultsUpdater = self;
// Install the search bar as the table header.
self.navigationItem.titleView = searchController.searchBar;
// It is usually good to set the presentation context.
self.definesPresentationContext = YES;

Semoga ini membantu Anda menyelesaikan masalah Anda. Pertahankan gairahmu! Semoga beruntung.

person Cuong Nguyen    schedule 25.05.2016
comment
Sudahkah Anda mencoba menambahkan self.definesPresentationContext = YES di ViewDidLoad ? - person Timur X.; 25.05.2016