Creo que mi problema fue similar, pero no idéntico, al suyo: quería que el texto en una barra de herramientas de accesorios reflejara las selecciones del último componente de selector.
I era, sin embargo, no puede cambiar el texto de una UILabel
añadió a una UIBarButtonItem
que es parte de un inputAccessoryView
visualizada sobre un múltiplo-pieza de deslizamiento de UIPickerView
para cada uno de varios datos de entrada de UITextFields
. Estos elementos se crean mediante programación (Xcode v 4.3 (4E109) ), excepto los campos de texto, cada uno de los cuales se crea en el Storyboard y se declara como una propiedad.
Ni asignar el texto a la etiqueta toolbarTitle, y luego alloc/init-ing el elemento botón de la barra con toolbarTitle como una vista personalizada:
toolbarTitle.text = @"myTextFromPickerComponent";
UIBarButtonItem *title = [[UIBarButtonItem alloc] initWithCustomView:toolbarTitle];
//nor alloc/init-ing the bar button item directly, passing the new text to initWithTitle:
UIBarButtonItem *title = [[UIBarButtonItem alloc] initWithTitle:toolbarTitle.text style:UIBarButtonItemStyleDone target:self action:nil];
dio el comportamiento deseado; es decir, el texto de la etiqueta no cambió, aunque confirmé con NSLog que efectivamente estaba enviando el nuevo texto.
que tiene un toque de la Docs bajo Custom Views for Data Input
, Input Views and InputAccessory Views
: "El primer nivel de respuesta puede recargar la entrada y puntos de vista de accesorios llamando al método de UIResponder
reloadInputViews
"
Implementé esto al tener la llamada UITextField
actual llamada reloadInputViews
, y esto funcionó para mí con cualquiera de los dos fragmentos de código indicados anteriormente.
cómo hacer esto en el programa? No utilizo el IB en absoluto, thx. –
¿Su "conjunto a personalizado" significa "initWithCustomView"? Si es así, mi artículo ya estaba configurado en Personalizado. de esta manera: \t porcentaje = [[UILabel alloc] init]; \t percentage.text = @ "HELLO"; \t UIBarButtonItem * percentageBarItem = [[UIBarButtonItem alloc] initWithCustomView: percentage]; Quiero mantenerlo cambiable después de ponerlo en la barra de herramientas. –
lo siento, no sé cómo recuperar el comentario .../_ \ –