IOS:- Всякий раз, когда я перехожу к другому методу делегата панели поиска VC, не вызывается и не отображается кнопка отмены панели навигации в задаче C

Когда я захожу в 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 searchBar:- он вызвал делегат панели поиска и показывает кнопку отмены

После NavigationBar я нажимаю на searchBar:- он не вызывает делегат панели поиска и не показывает кнопку отмены

Метод делегата SearchBar для кода кнопки отмены:-

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

0 ответов

Другие вопросы по тегам