À l'aide de xib objet à l'intérieur d'un autre xib

Je suis de la conception à l'aide de l'IB, un bouton spécifique (avec des étiquettes,et imageView et d'autres trucs).

Je voudrais utiliser que xib objet (le bouton) dans un autre xib, où j'ai 6 objets de ce bouton.

Je sais que je peux le faire par programmation à l'aide de l'Identificateur de Classe, mais puis-je placer mon etiquettes et d'affichage de l'image, et de définir les valeurs par défaut et tout le reste dans le code.

Je me demandais si il est possible de faire la même chose en utilisant seulement l'IB ? (bien sûr, je serais toujours définir les valeurs dans le code, mais je veux positions des etiquettes/imageView et tout le reste pour être mis dans le xib)

Grâce

Modifier

Donc, je comprends ce que j'ai demandé au premier abord n'est pas possible.
Ce que je vais essayer maintenant est comme ça :

J'ai créé un ButtonTest.xib.
À l'intérieur de la Xib j'ai une UIView et 3 sous-vues (2 etiquettes et un bouton).
Dans l'inspecteur, je mis la classe UIView à ButtonTest.
À L'Intérieur De ButtonTest.m j'ai 3 points de vente pour chacun des sous-vues, qui-je me connecter au bureau de l'IB.

Prochaine j'ai un ButtonTestViewController.xib.
À l'intérieur j'ai mis un point de vue et l'ensemble de la classe dans l'inspecteur ButtonTest.
- Je me connecter à un myTextView prise à l'intérieur de ButtonTestViewController.m de classe ButtonTest

Maintenant, voici le code à l'intérieur de ButtonTestViewController.m viewDidLoad:

- (void)viewDidLoad {
    [super viewDidLoad];

    NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"ButtonTest" owner:nil options:nil];
    ButtonTest *mainView = (ButtonTest*)[subviewArray objectAtIndex:0];

    self.myTextView = mainView;
}

Ce que j'espérais allait se passer, c'est que le point de vue dans ButtonTestViewController.xib allait devenir le point de vue que j'ai conçu dans ButtonTest.xib.
Ce n'est pas le cas. ce qui se passe est que le point de vue à l'intérieur de ButtonTestViewController.xib reste le même.

La peine de mentionner, c'est que si j'ajoute:

[self.view addSubview:mainView];

Il n'ajouter le nouveau point de vue, en plus de l'existant.

Une idée de comment faire ce que je veux ?

Finalement, je voudrais avoir 6 vues dans ButtonTestViewController.xib, tous les ressemblerait le ButtonTest.xib modèle, et les etiquettes de valeurs seront définis dans le code.

Edit2

Ok, les gars, j'ai fait tout ce que vous avez dit et cela a fonctionné comme un charme.
Le seul problème que j'ai avec cette question, c'est quand la vue dans ButtonTestViewController.xib est un peu plus gros, puis les afficher dans ButtonTest.xib.
Lorsque cela se produit, L'étiquette sur le bouton rechercher extrêmement floue.
Quand ils sont tous les deux de la même taille, c'est du tout bon.

@ Ned - j'ai utilisé le code exact que vous posté dans mon InitWithCoder méthode, sauf que j'ai changé l'image de la phrase au présent :

self.bounds = mainView.frame;

J'ai essayé de jouer avec la mode de contenu de l'IB en essayant de le réparer, en vain.

Quand je fais l'utiliser comme vous l'avez posté, sens :

mainView.frame = self.bounds;

Ça ne marche pas à tous, et les deux vues des grandeurs restent les mêmes.
Ici j'ai essayé de jouer avec le resizeMask mais ne fonctionne toujours pas.

Et idée de comment résoudre ces 2 problèmes ?
Merci les gars!

Modifier 3

J'ai réussi à résoudre l'un des problèmes, le redimensionnement de la ButtonTestViewController.xib à la ButtonTest.xib taille d'affichage.
C'est ce que j'ai fait (en utilisant le code pour résoudre le flou question, pris de ici)

self.bounds = CGRectMake(0, 0, mainView.frame.size.width, mainView.frame.size.height);
        CGRect overlay2Frame = self.frame;
        overlay2Frame.origin.x = round(overlay2Frame.origin.x);
        overlay2Frame.origin.y = round(overlay2Frame.origin.y);
        self.frame = overlay2Frame;

L'autre problème, je n'arrive toujours pas à résoudre. la vue dans ButtonTest.xib juste ne pas obtenir un plus grand pour correspondre à l'autre point de vue.

InformationsquelleAutor Idan | 2011-02-23