Pregunta

Tengo una parte superior de la vista de lista en mi actual iPhone app, que está poblada por código.He armado de la vista mediante el Interface Builder, por lo que contiene gran cantidad de UILabels.

Obviamente no me gustaría tener name1, name2, etc.puntos de venta en mi clase, sino que prefieren una name[10] de la matriz.

Es posible hacerlo, y conectar cada elemento de la etiqueta correspondiente (o cualquier otro generador de interfaz como de la vista)?

¿Fue útil?

Solución

no puede hacerlo en IB, pero puede crear una matriz en el método de init y añadir todas las etiquetas a la misma.

Por cierto, se puede establecer alguna etiqueta para cada etiqueta y definir un macro para acceder a ella. smth como

#define NAME[TAG] (UILabel*)[self.view viewWithTag:TAG]

Otros consejos

Por supuesto, puede hacer esto con constructor de interfaces, la palabra clave es IBOutletCollection. Lo que hace es básicamente un NSArray de múltiples puntos de constructor de interfaces.

IBOutletCollection(UILabel) NSArray *myLabels;

Así que la siguiente sería la conexión de las etiquetas en constructor de interfaces y entonces usted puede utilizar la matriz para acceder a todas las etiquetas en tiempo de ejecución.

Esto se puede hacer uso de colecciones de salida, ver esta pregunta relacionada .

Siga estos pasos para crear una matriz de puntos de venta de una conectarse con IB Elementos (Aquí es un ejemplo de UIView, usted puede utilizar UILabel también):

  • Crear una matriz de IBOutlets
  • Agregar múltiples UIElements (Vistas) en su Guión ViewController interfaz
  • Seleccione ViewController (En el guión) y conexión abierta inspector
  • Hay opción de Salida de Colecciones " en relación inspector (Usted verá una serie de puntos de venta que hay)
  • Conectar si con sus elementos de la interfaz de

-

class ViewController2: UIViewController {


    @IBOutlet var collection:[UIView]!


    override func viewDidLoad() {
        super.viewDidLoad()
    }
}

enter image description here

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top