Как скрыть и показать элемент панели навигации при нажатии? - PullRequest
0 голосов
/ 31 июля 2011

У меня есть приложение на панели вкладок с элементом списка избранных. Когда я добавляю новый фаворит и выбираю его, чтобы открыть, он загружает правильный перо, но есть панель навигации, которая покрывает часть текста.

Как я могу сделать так, чтобы перо показывалось правильно без панели навигации, которая покрывает все? Мне нужно, чтобы вернуться к списку избранного, но он охватывает часть текста. Я думал о скрытии \ скрытии при нажатии, но я уже пробовал, он также скрывает основную панель навигации (та, что с заголовком «Избранное»). Кто-нибудь предлагает?

Edit:

Код, который я использую для вызова перьев:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        Favorite *fav = (Favorite *)[[[FavoritesData sharedFavoritesData] getFavorites] objectAtIndex:indexPath.row];
        NSString *selectedItem = fav.favId;

        if ([selectedItem isEqualToString:@"First"]) {
            Detail1 *detailViewController = [[Detail1 alloc] initWithNibName:@"Detail1" bundle:nil];
            [self.navigationController pushViewController:detailViewController animated:YES];
            [detailViewController release];
         }
}

Я хочу скрыть элемент кнопки «Назад», когда появляется перо, и показать его, когда я касаюсь экрана. А чтобы адаптировать перо к экрану, навигация вроде прозрачна.

Ответы [ 3 ]

0 голосов
/ 31 июля 2011

Создайте две UIB-кнопки самостоятельно и установите их в навигационную панель. После этого создайте и напишите метод IBAction, который будет скрывать, если он был скрыт, и не будет отображаться, если он был скрыт.

0 голосов
/ 31 июля 2011

Я все решил, были проблемы с цветом панели навигации (я выбрал черный прозрачный вместо черного непрозрачного), а затем перо было закрыто. Я изменился, и перо изменило размеры, как я хотел. Спасибо за ответы, кстати.

0 голосов
/ 31 июля 2011

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

   myNavController.navigationBarHidden = true

И просто установите в false, когда вы хотите, чтобы он снова показывался:

   myNavController.navigationBarHidden = false
...