2015-06-16 2 views
0

Я знаю, что вопрос о добавлении строки поиска в панели навигации задается здесь много раз (и я знаю процесс). Но моя проблема в том, что я должен показать панель поиска с пользовательским фоном, и он должен присутствовать/скрываться с анимацией, когда я нажимаю кнопку, добавленную справа от панели навигации. Перед присутствовать панель поискаiOS пользовательская панель поиска в навигационной панели с анимацией?

enter image description here

окончательный UI хотел бы (после щелчка на значок поиска) -

like this png

Любая помощь будет оценена.

Кодекс

//search bar 
    searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(20, 0, self.view.frame.size.width-10-60, 44)]; 
    // searchBar.translucent = NO; 
    //searchBar.barTintColor = [UIColor clearColor]; 
    searchBar.backgroundColor = [UIColor clearColor]; 
    [self.navigationController.navigationBar addSubview:searchBar]; 

    float delta = searchBar.frame.size.width; 
    searchBar.frame = CGRectOffset(searchBar.frame, -delta, 0.0); 
    searchBar.hidden = YES; 
-(void)rightbuttonPressed 
{ 
    // get the width of the search bar 
    float delta = searchBar.frame.size.width; 
    // check if toolbar was visible or hidden before the animation 
    BOOL isHidden = [searchBar isHidden]; 

    // if search bar was visible set delta to negative value 
    if (!isHidden) { 
     delta *= -1; 
    } else { 
     // if search bar was hidden then make it visible 
     searchBar.hidden = NO; 
    } 

    // run animation 0.7 second and no delay 
    [UIView animateWithDuration:0.7 delay: 0.0 options: UIViewAnimationOptionCurveEaseIn animations:^{ 
     // move search bar delta units left or right 
     searchBar.frame = CGRectOffset(searchBar.frame, delta, 0.0); 
    } completion:^(BOOL finished) { 
     //if the bar was visible then hide it 
     if (!isHidden) { 
      searchBar.hidden = YES; 
     } 
    }]; 
} 
+0

Пожалуйста, поделитесь своим кодом –

+0

код добавлен plz check – Blios

ответ

0

Не добавлять строку поиска как подвид в навигационной панели. Вместо этого установите его как titleView для navigationItem текущего контроллера.

Добавить строку поиска в UIView и присвоить виду titleView. Анимируйте панель поиска в этом представлении, как обычно. Для фона UISearchBar имеет свойство backgroundImage.

+0

Но как оживить название названия и больше импортировать, как добавить пользовательское фоновое изображение? – Blios

+0

@Bilos см. Редактировать мой ответ – rounak

Смежные вопросы