iOS - Definir UIToolBarItem em UINavigationController
-
27-10-2019 - |
Pergunta
Eu arrasto um item da barra de ferramentas no storyboard e o defino no controlador de navegação, mas quando executo meu código ele não está lá, há algo que estou perdendo?
EDITAR:
Tentei defini-lo no código também no meu método viewDidLoad:
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Map" style:UIBarButtonItemStyleBordered target:self action:@selector(viewMap)];
self.navigationItem.rightBarButtonItem = rightBarButton;
Também não funciona.
Veja como ele é configurado em meu storyboard:
< PaulUPDATE:
Acabei de encontrar meu problema.No código do meu controlador, quando atualizo seu conteúdo, mudo o item do botão direito da barra para um botão giratório e nunca o coloco de volta ao que tinha antes.
Solução
UINavigationController
já tem uma barra de ferramentas embutida. Ele tem uma propriedade toolBarHidden
que é definida como YES
por padrão, e é por isso que normalmente não é vista. Se estiver usando um storyboard, você pode facilmente tornar visível a barra de ferramentas interna inferior marcando a caixa de seleção "Mostra a barra de ferramentas" no inspetor quando o Controlador de navegação é selecionado.
Consulte a documentação do UINavigationController aqui < / a> para mais detalhes.
EDITAR:
Ok, parece que o que você está tentando fazer é adicionar um botão direito ao UINavigationItem
do controlador de visualização. Para fazer isso no storyboard, arraste um "Item do botão da barra" da Biblioteca de objetos para o item de navegação em seu ViewController. Você pode então definir o título / estilo / etc do item do botão da barra. Se nada ainda aparecer quando você executar seu aplicativo, certifique-se de que seu ViewController esteja conectado corretamente com um segue para o controlador de navegação.
Certifique-se também de adicionar o item do botão Bar ao item de navegação do view controller, NÃO ao próprio View Controller. Esta é a aparência da configuração em seu storyboard:
Outras dicas
Para adicionar um item a uma barra de navegação, você precisa adicionar um Bar Button Item
ao Navigation Item contido no controlador de visualização.Vá para o seu storyboard, encontre o VC correto e encontre o item de navegação (está na hierarquia mostrada na 'cena' do controlador de navegação).Basta arrastar um item do botão da barra para essa hierarquia, abaixo do item de navegação, ou diretamente para a barra de navegação na tela do construtor visual.
O controlador de navegação só olha para o item de navegação do seu VC quando esse VC é colocado na pilha;portanto, modificar o item de navegação do VC em viewDidLoad
não tem efeito.
(Já fiz isso de maneira programática antes, mas não tenho o código comigo, então talvez eu o adicione mais tarde ...)