iphone - descargar - ios versiones
Cómo deshabilitar UIBarButtonItem? (3)
Tengo un UIBarButtonItem que simplemente no quiere deshabilitarse. Versión corta: cuando llamo
[myBarButtonItem setEnabled:NO];
No pasa nada.
myBarButtonItem
es un IBOutlet en myVIewController
. myViewController
se ha agregado como un objeto a MainWindow
en Interface Builder. La salida myBarButtonItem
se ha conectado al BarButtonItem y tiene property
líneas @syntesize
y de property
correspondientes.
@property (nonatomic, retain) IBOutlet UIBarButtonItem *myBarButtonItem;
En myViewController.m,
@synthesize myBarButtonItem;
Alguien tiene una idea de por qué el método setEnabled
anterior no tiene ningún efecto? ¡Gracias!
ACTUALIZACIÓN: ¡Solucionado! No sé por qué, pero aparentemente la salida no estaba siendo establecida. Usé mi delegado de aplicación como el objeto principal para UIBarButtonItem, y todo funcionó.
En mi caso (Swift), tuve 2 BarButtonItems agregados como una matriz, así que para desactivarlos esto hizo el truco
navigationItem.rightBarButtonItems?.first?.enabled = false
navigationItem.rightBarButtonItems?.last?.enabled = false
Puede desactivar el botón de navegación izquierdo desde dentro de un UIViewController de esta manera, sin usar ningún IBOutlet:
self.navigationItem.leftBarButtonItem.enabled = NO;
Para deshabilitar el botón de navegación derecho:
self.navigationItem.rightBarButtonItem.enabled = NO;
Swift3
self.navigationItem.rightBarButtonItem?.isEnabled = false
Si su barra de herramientas tiene un IBOutlet (y lo ha verificado para asegurarse de que no sea nada), intente:
[ [ [ myToolBar items ] objectAtIndex: myBarButtonItemIndex ] setEnabled:(NO) ];