ios - interfaces - ¿Qué es referenciar la colección de tomas en Xcode4 Interface Builder?
status bar iphone (4)
He estado pirateando XIB.
Puede ver una colección de Outlet en uso aquí:
Un control puede tener múltiples reconocedores de gestos que se almacenan en:
UITouch
@property(nonatomic,readonly,copy) NSArray *gestureRecognizers
AB abierto
Arrastre UITextView a una vista de IB.
Arrastre el Reconocedor de gestos de pellizco a la vista de texto.
Haga clic en cada uno en el árbol de objetos y abra el Inspector de Conexiones.
verá que se ha agregado una colección, no una única salida.
OUTLET COLLECTIONS
gestureRecognizers ------> Pinch Gesture
Aquí, he señalado a la Referencing Outlet Collection
. No puedo descifrar su uso en XCode4.
Estoy pidiendo la `nueva característica de REFERENCING OUTLET COLLECTION en InterfaceBuilder of XCode4".
Usando XCode Interface Builder, crea / conecta tus IBOutlet a IBOutlet Collection. Como resultado, obtendrá el siguiente código en el archivo .h:
@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *labels;
En el archivo .m puede iterar usando for-loop para obtener las características deseadas, como el tamaño de fuente o el color:
for (UILabel *label in self.labels) {
label.font = [UIFont systemFontOfSize:14];
label.textColor=[UIColor blueColor];
}
o
@synthesize labels;
...
for (UILabel *label in labels) {
label.font = [UIFont systemFontOfSize:14];
label.textColor=[UIColor blueColor];
}
IBOutletCollection
es una forma de agrupar IBOutlets
. Imagine que tiene 3 o 4 UILabels
, en los que aplicará un estilo (fuente, UILabels
fondo, opacidad, etc.). Con IBOutletCollection
, se vuelve trivial hacer esto. Primero necesita definir su IBOutletCollection
:
@property (nonatomic, retain) IBOutletCollection(UILabel) NSArray *labelsCollection;
(observe el tipo que estamos poniendo entre paréntesis, aunque podríamos poner una id
, si tuviéramos una colección mixta)
Conecte los IBoutlets
en Interface Builder y luego simplemente itere:
for(UILabel *label in labelsCollection)
{
// Apply your styles
}
Espero que esto te ayude a entender:
http://useyourloaf.com/blog/2011/3/28/interface-builder-outlet-collections.html
swift:
// create outlet colllections
@IBOutlet var name: [UILabel]!
@IBOutlet var ageLabel: [UILabel]!
@IBOutlet var genderLabel: [UILabel]!
@IBOutlet var weightLabel: [UILabel]!
@IBOutlet var heightLabel: [UILabel]!
@IBOutlet var bmiLabel: [UILabel]!
@IBOutlet var smokerLabel: [UILabel]!
@IBOutlet var hdraLabel: [UILabel]!
// declare global vars
var names: UILabel;
var ageLabels: UILabel;
var genderLabels: UILabel;
var weightLabels: UILabel;
var heightLabels: UILabel;
var bmiLabels: UILabel;
var smokerLabels: UILabel;
var hdraLabels: UILabel;
// assign values
for name:UILabel in self.name {
self.names = name
}
for ageLabel:UILabel in self.ageLabel {
self.ageLabels = ageLabel
}
for genderLabel:UILabel in self.genderLabel {
self.genderLabels = genderLabel
}
for weightLabel:UILabel in self.weightLabel {
self.weightLabels = weightLabel
}
for heightLabel:UILabel in self.heightLabel {
self.heightLabels = heightLabel
}
for bmiLabel:UILabel in self.bmiLabel {
self.bmiLabels = bmiLabel
}
for smokerLabel:UILabel in self.smokerLabel {
self.smokerLabels = smokerLabel
}
for hdraLabel:UILabel in self.hdraLabel {
self.hdraLabels = hdraLabel
}