vibrar teclados teclado tamaño para descargar control color centro cambiar aumentar aparece iphone objective-c ios uinavigationcontroller

iphone - teclados - iOS-¿UINavigationController agrega múltiples elementos correctos?



teclados para iphone 6 (6)

Tengo un UINavigationController . Intento agregar varios botones en el lado derecho de mi barra de navegación. ¿Cómo puedo conseguir esto? ¿Qué tipo de botón toma? UIBarButton o UINavigationItem ?


A partir de iOS5, puede asignar una matriz de elementos de botón de barra a la rightBarButtonItems (tenga en cuenta el plural) del elemento de navegación.


En Xcode 7.1 (quizás incluso antes), puedes agregar varios elementos al lado derecho o izquierdo de UINavigationBar simplemente arrastrándolos. Si arrastras hasta el lugar correcto, obtienes una pequeña barra vertical que indica dónde se colocará ese elemento ser insertado.



Utilicé la respuesta JRTurtons en Xcode 4.5, iOS 6 y lo implementé así y funciona:

// Two buttons at the right side of nav bar UIBarButtonItem *addAttachButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addAttachmentClicked:)]; UIBarButtonItem *sendButton = [[UIBarButtonItem alloc] initWithTitle:LS(@"Send") style:UIBarButtonItemStyleBordered target:self action:@selector(sendClicked:)]; self.navigationItem.rightBarButtonItems = @[addAttachButton,sendButton];

Sin embargo, debo mencionar, que UIBarButtonSystemItemPageCurl no funciona así.


agregar cualquier diseño al controlador de navegación en XCode es fácil.

agrega una UIView a tu escena agrega los botones que necesitas a la UIView y luego arrastra y suelta la UIView al espacio correcto en el navegadorController


de hecho, hay un poco de hacky, pero al mismo tiempo, una forma más limpia de hacer esto: simplemente defina una categoría en UINavigationItem, como:

UINavigationItem + Toolbars.h:

@interface UINavigationItem (Toolbars) @property (nonatomic, retain) IBOutlet UIToolbar * rightToolBar; @property (nonatomic, retain) IBOutlet UIToolbar * leftToolBar; - (void)setRightToolBar:(UIToolbar *)_rightToolBar; - (UIToolbar *)rightToolBar; - (void)setLeftToolBar:(UIToolbar *)_leftToolBar; - (UIToolbar *)leftToolBar; @end

UINavigationItem + Toolbars.m:

#import "UINavigationItem+Toolbars.h" @implementation UINavigationItem (Toolbars) - (void)setRightToolBar:(UIToolbar *)_rightToolBar { self.rightBarButtonItems = _rightToolBar.items; } - (UIToolbar *)rightToolBar { return nil; } - (void)setLeftToolBar:(UIToolbar *)_leftToolBar { self.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:_leftToolBar] autorelease]; } - (UIToolbar *)leftToolBar { return nil; } @end

Después de hacer eso, solo asigne una salida en la configuración de IB a la barra de herramientas (solo cree una) y disfrute de los botones que aparecen en el elemento de navegación.