Значок iOS изменить в строке поиска - PullRequest
4 голосов
/ 21 марта 2012

Я пытаюсь настроить панель поиска. Я выяснил, как изменить фон и текстовое поле на панели поиска, но не могу найти способ изменить значок, который по умолчанию на панели (значок увеличительного стекла).

Есть ли способ сделать это?

Ответы [ 2 ]

15 голосов
/ 21 марта 2012

С открытым исходным кодом ваш друг (как какао, да):

- (void)setSearchIconToFavicon {
  // Really a UISearchBarTextField, but the header is private.
  UITextField *searchField = nil;
  for (UIView *subview in searchBar.subviews) {
    if ([subview isKindOfClass:[UITextField class]]) {
      searchField = (UITextField *)subview;
      break;
    }
  }

  if (searchField) {  
    UIImage *image = [UIImage imageNamed: @"favicon.png"];
    UIImageView *iView = [[UIImageView alloc] initWithImage:image];
    searchField.leftView = iView;
    [iView release];
  }  
}

Начиная с iOS 5.0:

[self.testSearchBar setImage:[UIImage imageNamed: @"favicon.png"]
            forSearchBarIcon:UISearchBarIconSearch
                       state:UIControlStateNormal];
2 голосов
/ 09 июня 2016
searchBar.setImage(UIImage(named: "tempUser")!,
                forSearchBarIcon: UISearchBarIcon.Search, 
                           state: UIControlState.Normal)
...