Как почтовое приложение отключает UISearchBar в режиме редактирования? - PullRequest
3 голосов
/ 01 августа 2011

Используя SearchDisplayController и не можете найти какие-либо методы, которые бы достигли этого?

Ответы [ 2 ]

4 голосов
/ 25 апреля 2012

Попробуйте при переключении в режим редактирования:

self.searchDisplayController.searchBar.userInteractionEnabled = NO;
self.searchDisplayController.searchBar.alpha = .5;

Реверс с помощью:

self.searchDisplayController.searchBar.userInteractionEnabled = YES;
self.searchDisplayController.searchBar.alpha = 1.0;

Вы также можете анимировать альфа-изменение для дополнительного кредита:)

1 голос
/ 01 августа 2011

Проверьте UISearchDisplayDelegate и UISearchBarDelegate, чтобы узнать, когда панель поиска находится в режиме редактирования.

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

В вашем файле .h,

@interface ...
{
    UIView *disableViewOverlay;
    ...
}

@property(retain) UIView *disableViewOverlay;

А в файле .m

@synthesize disableViewOverlay;

...

-(void) disableSearchBar 
{
    self.disableViewOverlay = [[UIView alloc]
                           initWithFrame:CGRectMake(0.0f,0.0f,320.0f,44.0f)];
    self.disableViewOverlay.backgroundColor=[UIColor blackColor];
    self.disableViewOverlay.alpha = 0;

    self.disableViewOverlay.alpha = 0;
    [self.view addSubview:self.disableViewOverlay];

    [UIView beginAnimations:@"FadeIn" context:nil];
    [UIView setAnimationDuration:0.5];
    self.disableViewOverlay.alpha = 0.4;
    [UIView commitAnimations];
}

-(void) enableSearchBar 
{
    [disableViewOverlay removeFromSuperview];
    [searchBar resignFirstResponder];
}

Вы можете корректировать альфа-значения, пока они не появятся так, как вы этого хотите.

Надеюсь, это поможет!

...