Ce qui est la clé de Chemin d'accès définis par l'utilisateur d'exécution des attributs?
J'ai hérité d'un projet, et je suis confus sur ce qu'est une certaine touche est.
Ma question est, qu'est-ce que le styleName Chemin de clé ? est-il une propriété à la vue ? Comment puis-je savoir quels sont les principaux Chemins d'accès sont disponibles ?
Par exemple, après la sélection d'un UILabel du storyboard-je vérifier l'identité de l'inspecteur et de l'utilisateur défini exécution des attributs, je vois les suivantes:
J'ai essayé d'ouvrir le principal-les styles.fichier plist mais vous ne savez pas comment son ensemble.
quand je clique sur l'attribut de l'inspecteur (tout en gardant le UILabel dans la table de montage en surbrillance) c'est à quoi il ressemble:
Ok. Je suis en train d'écrire une réponse.
OriginalL'auteur j2emanue | 2015-05-06
Vous devez vous connecter pour publier un commentaire.
Il y a un
NSKeyValueCoding
protocole, qui de nombreux objets à l'intérieur deUIKit
conformer.L'une des méthodes au sein de
NSKeyValueCoding
estvalueForKey:
(ainsi que de nombreuses autres méthodes, consultez la documentation j'ai relié).En appelant
valueForKey:
sur un objet, nous pouvons, au moment de l'exécution, l'accès à des propriétés qui ont été mis sur l'interface builder.Ainsi, par exemple, sur cette étiquette, je pourrais faire quelque chose comme ceci:
Objective-C:
Swift:
Maintenant je peux récupérer la valeur définie via l'Interface Builder et au moment de l'exécution, je peux faire quelque chose avec le label basé sur ce que la valeur a été définie ici. Par exemple, ici, je pourrais utiliser le particulier "nom de style" à la conception de l'étiquette d'une manière particulière.
Si vous rechercher sur le projet de
valueForKey
ou"styleName"
, vous trouverez probablement où cette propriété est utilisée et que fait-on avec elle exactement.De suivi au sujet de ma question au sujet de l'Attribut de l'Inspecteur, de Xcode 6, nous pouvons utiliser la
@IBInspectable
propriété pour créer des propriétés qui apparaissent dans les Attributs de l'Inspecteur (comme on le voit ici). Considérez ceciUIView
extension:Maintenant, si nous prenons un regard sur les Attributs de l'inspecteur pour tout
UIView
(ou sous-classe) dans notre scénario, nous allons voir ceci:Nous avons maintenant une "Couleur de la Bordure de la propriété" disponible via les Attributs de l'Inspecteur qui n'est pas d'ordinaire. La raison pour laquelle j'point de cet outil est qu'à chaque fois que vous réglez une de ces propriétés via les Attributs de l'Inspecteur, la valeur que vous avez définie est stockée comme un de ces "Défini par l'Utilisateur Runtime Attributs":
Et à chaque fois que ce point de vue est chargé à partir de la XIB dans mon application, l'une des premières choses qui vont arriver, c'est que mon
borderColor
propriété est définie à cette couleur rouge que j'ai sélectionné dans l'Interface Builder.OriginalL'auteur nhgrif
Ci-dessous est une liste de types d'attributs et le type de propriété.
OriginalL'auteur Amit Jagesha シ
Basé sur la Apple doc
Parce que ces méthodes sont appelées lorsque l'
nib
est chargé. Donc, ceux exécution des attributs peuvent être obtenus à l'intérieur de la-(void)awakeFromNib
.Par exemple,
OriginalL'auteur AechoLiu
grâce nhgrif. Effectivement merci pour votre réponse, qui était grande, plus un, j'ai trouvé ce qui se passe. Ils ont créé une catégorie globale sur UIView. son appelé UIView+mystyle. là, ils ont une méthode ayant la signature suivante:
donc xcode utilise cette méthode sans le " set " et correspond à l'exécution de la clé attribut de chemin d'accès. dans cette méthode, ils sont l'application de l'attribut.
OriginalL'auteur j2emanue