четверг, 21 февраля 2013 г.

UISearchBar вызывает resignFirstResponder при повороте

При повороте устройства UISearchBar с установленным свойством delegate, вызывает метод протокола -(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar, что непосредственно связано с resign'ом клавиатуры. Тогда все что надо сделать в данном случае, это имплементировать метод:
-(BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar. 

Например объявить переменную isRotating и в методах UIViewController соответственно устанавливать ее:

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    isRotating = YES;
}

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
    isRotating = NO;
}

-(BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar
{
    return !isRotating;
}





Комментариев нет:

Отправить комментарий