UISearchBarBackground Class - PullRequest
       19

UISearchBarBackground Class

1 голос
/ 28 апреля 2010

Я использую следующий фрагмент кода, чтобы скрыть фон на UISearchBar: [[searchView.subviews objectAtIndex: 0] setHidden: YES]; Довольно просто, но я беспокоюсь о жестком кодировании позиции в списке подпредставлений. Поэтому я пошел искать файл UISearchBarBackground.h и не могу его найти. Кто-нибудь знает, где скрывается определение?

Ответы [ 4 ]

5 голосов
/ 01 сентября 2011

Другой способ:

for (UIView* subview in searchControl.subviews) {
    if ([NSStringFromClass([subview class]) isEqualToString:@"UISearchBarBackground"]) {
        [subview removeFromSuperview];
    }
}
0 голосов
/ 06 сентября 2013

Вместо этого вы можете использовать метод NSClassFromString (), чтобы избежать необходимости создавать новый класс только для проверки равенства

for (UIView *v in [self.searchbar subviews]) {
    if ([v isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {
        // whatever you want to do with the subview goes here...
    }
}
0 голосов
/ 09 июля 2010

Для ios4 это не сработало, поэтому я пробую это, и оно работает

[[self.mySearchBar.subviews objectAtIndex: 0] removeFromSuperview];

0 голосов
/ 28 апреля 2010

просто использовать в [subView isKindOfClass: [класс UISearchBarBackground]] просто отлично работает:

@ interface UISearchBarBackground: NSObject { } @ Конец

Более полное определение доступно на github.

...