Когда я захожу в VC и нажимаю NavigationBar SearchBar, то вызывается метод Delegate, и он показывает мне кнопку отмены, когда я перехожу к любому другому VC, возвращаюсь к этому VC и нажимаю на панели поиска, он не называется методом делегата и непокажите кнопку отмены. Пожалуйста, помогите мне Спасибо
Мой код: -
-(void)setUPSeachBar{
self.automaticallyAdjustsScrollViewInsets = NO;
self.searchControllerInvoice.dimsBackgroundDuringPresentation = true;
self.definesPresentationContext = YES;
self.searchControllerInvoice = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchControllerInvoice.searchResultsUpdater = self;
self.searchControllerInvoice.delegate = self;
[self.searchControllerInvoice setObscuresBackgroundDuringPresentation:NO];
if (@available(iOS 11.0, *)) {
self.navigationItem.searchController = self.searchControllerInvoice;
self.navigationItem.searchController.searchBar.delegate = self;
// [self.navigationItem setHidesSearchBarWhenScrolling:NO];
// self.navigationController.navigationBar.prefersLargeTitles=true;
} else {
self.getInvoiceTable.tableHeaderView = self.searchControllerInvoice.searchBar;
}
for(UITextField * textField in self.searchControllerInvoice.searchBar.subviews.firstObject.subviews){
textField.subviews.firstObject.backgroundColor = UIColor.whiteColor;
textField.subviews.firstObject.layer.cornerRadius = 10.5;
textField.subviews.firstObject.layer.masksToBounds=YES;
}
self.edgesForExtendedLayout = UIRectEdgeNone;
[[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor,[UIColor whiteColor],UITextAttributeTextShadowColor,[NSValue valueWithUIOffset:UIOffsetMake(0, -1)],UITextAttributeTextShadowOffset, nil] forState:UIControlStateNormal];
}
Прежде чем я нажму панель навигации NavigationBar: - он вызвал делегата панели поиска и показывает кнопку отмены
После NavigationBar я нажимаю на панели поиска: - он не вызывает делегат панели поиска и не показывает кнопку отмены
Метод делегата SearchBarДля кнопки отмены Код: -
-(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{
[searchBar setShowsCancelButton:YES animated:YES];
}
-(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar{
[searchBar setShowsCancelButton:NO animated:YES];
}