Vue perso et bindings sous IB

CéroceCéroce Membre, Modérateur
07:21 modifié dans API AppKit #1
Bonjour à  tous,

J'ai une vue perso qui possède un propriété NSImage* image, que je voudrais pouvoir binder sous IB.

J'ai implémenté les méthodes:
<br />+ (void)initialize<br />{<br />	// Expose the Pattern binding to IB.<br />	[self exposeBinding:@&quot;image&quot;];	<br />	<br />}<br /><br />- (Class)valueClassForBinding:(NSString *)binding<br />{<br />	if([binding isEqualToString:@&quot;image&quot;])<br />		return [NSImage class];<br />	<br />	// Unknown binding<br />	return nil;<br />}<br />


Cependant, le binding image n'apparaà®t pas dans IB. Savez-vous si je dois absolument créer un IBPlugIn pour ça ? (Je n'en ai pas envie, j'ai franchement autre chose à  faire que me taper 20 pages de docs à  la sauce Apple).

Merci de vos réponses !

Réponses

  • NoNo Membre
    07:21 modifié #2
    dans 1235569185:

    Cependant, le binding image n'apparaà®t pas dans IB. Savez-vous si je dois absolument créer un IBPlugIn pour ça ? (Je n'en ai pas envie, j'ai franchement autre chose à  faire que me taper 20 pages de docs à  la sauce Apple).
    Merci de vos réponses !


    Hélas pour toi, tu dois en effet passer par un développement dans IB (plugin/palette).
    Cela est écrit dans la doc Apple au sujet du protocole NSKeyValueBindingCreation :
    [tt]
    NSView subclasses can expose additional key-value-coding/key-value-observing compliant properties as bindings by calling the class method exposeBinding: for each of the properties. This is typically done in the class's initialize method. By exposing the bindings that an object supports and creating an Interface Builder palette, you can make instances of your own classes bindable in Interface Builder.
    [/tt]

    Et juste pour troller 1 sec : les bindings, c'est le mal absolu !
  • CéroceCéroce Membre, Modérateur
    07:21 modifié #3
    Merci de ta réponse, je dois dire que je m'y attendais beaucoup, même si je ne savais pas où la trouver. Le pire, c'est que ça ne paraà®t pas très difficile à  implémenter pour Apple. Le protocole pour exposer les bindings existe déjà , IB n'aurait qu'a présenter les noms des bindings. Là , je me vois obligé de créer une IBPalette, qui ne sera jamais réutilisée ailleurs.

    Je souhaite utiliser cette vue perso dans une NSCollectionView. Pour le coup, je suis obligé de binder, et sous IB en plus.
Connectez-vous ou Inscrivez-vous pour répondre.