Como posso adicionar 2 botões no UINavigationBar
sem XIB?
Os 2 botões devem ser alinhados no lado direito do UINavigationBar
.
Eu sei como posso adicionar um botão, mas que tal dois?
ios
uinavigationcontroller
uibutton
Alexandre
fonte
fonte
Eu publicou um código (ver abaixo) para adicionar dois botões à direita do NavigationBar. Você pode definir em
barStyle = -1
vez de subclassificarUIToolbar
.fonte
tools.barStyle = -1
linha: sem ela existem alguns artefatos visuais se você usar UIBarStyleBlack com translucent = YES. (Ou seja, a cor de fundo não corresponde à da barra de navegação.) Esse é um recurso não documentado? Nesse caso, este código é um pouco frágil. Eu não vi isso em nenhum lugar nos documentos.Você pode usar um botão de barra inicializado com uma barra de ferramentas como uma visualização personalizada.
Daria algo assim:
Observação: esta resposta é obsoleta para iOS 6 ou posterior
fonte
Aqui está o exemplo de trabalho do meu projeto atual:
fonte
fonte
Rápido:
Métodos para botões:
fonte
RÁPIDO
Você pode fazer em rápida como esta
fonte
Você pode criar um UIView e adicionar dois botões nessa visualização. E adicione esse UIView como botão direito :)
fonte
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView: rightItem];
(amostra de código de funcionamento completo abaixo [por mim])A resposta de Prakash também funciona no construtor de interface.
Arraste um
UIView
noUINavigationItem
, então você pode colocar váriosUIButton
como filhos desteUIView
e criar uma hierarquia como esta:Defina a cor de fundo de
UIView
para limpar e adicione algumas restrições para centralizar verticalmente os botões e corrigir a posição horizontal. Aqui está o resultado que obtive com linha zero de código:fonte
Em SWIFT, você pode adicionar este código para configurar dois botões no lado direito (ou esquerdo):
fonte
A partir do iOS 5, é fácil de conseguir. UINavigationItem tem a capacidade de ter vários botões no lado esquerdo e direito da barra.
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UINavigationItem_Class/Reference/UINavigationItem.html#//apple_ref/occ/instm/UINavigationItem/setRightBarButtonItems:animated :
fonte
Aqui está o código do Swift 4:
fonte
Você não precisa adicionar dois botões. Você só precisa adicionar
não
e um botão, para que fique do lado direito.
Como isso:
fonte
fonte
No caso de alguém vir aqui, como eu, em busca de uma resposta MonoTouch, basta procurar
NavigationItem.RightBarButtonItems
array.fonte
em SWIFT:
(suponha que você tenha um controlador de navegação) no controlador raiz use este código:
esquerda: ..
certo:
..
Onde:
fonte
fonte