how to show cancel button of searchbar?

iphone, uinavigationbar, uisearchbar

Solution

Objective C

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
    self.navigationController.navigationBar.hidden = TRUE;
    CGRect r = self.view.frame;
    r.origin.y = -44;
    r.size.height += 44;
    self.view.frame = r;

    [searchBar setShowsCancelButton:YES animated:YES];
}


-(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
    [searchBar setShowsCancelButton:NO animated:YES];
}

Swift

func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
    self.navigationController.navigationBar.hidden = true
    var r = self.view.frame
    r.origin.y = -44
    r.size.height += 44

    self.view.frame = r
    searchBar.setShowsCancelButton(true, animated: true)
}

func searchBarTextDidEndEditing(searchBar: UISearchBar) {
    searchBar.setShowsCancelButton(false, animated: true)
}

Problem

I want to hide the Navigation Bar of my page when the user start editing on the searchbar, I also want to show a cancel button. It is done but my cancel button is not accessible when I bring up the UISearchBar Thanks to All. ``` - (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { self.navigationController.navigationBar.hidden=TRUE; CGRect r=self.view.frame; r.origin.y=-44; r.size.height+=44; self.view.frame=r; searchBar.showsCancelButton=TRUE; } ```

Original source

Related problems