Apple Interface Builder: ajout de la sous-vue à UIImageView

J’ai créé UIImageView à l’aide d’Interface Bulder. Maintenant, je veux placer l’étiquette à l’intérieur (comme sous-vue). Dans le code, je peux taper quelque chose comme: [myUIImageView addSubview:myUILabel]; Mais puis-je le faire avec l’aide d’IB? J’ai trouvé la solution pour UIView , mais je ne trouve pas de solution similaire pour UIImageView .

Vous ne pouvez pas append une sous-vue à UIImageView dans le générateur d’interface pour des raisons connues uniquement d’Apple! Vous avez raison de dire que vous pouvez appendSubview par programme, mais la gestion des masques de ré-autoriser et des emplacements des sous-vues doit être gérée dans le code, ce qui est fastidieux.

Il y a donc une solution de contournement facile. Au lieu de faire glisser une instance de UIImageView dans le nib, faites simplement glisser un UIView et changez sa classe en UIImageView depuis UIView (option cmd + 4 de l’inspecteur). La seule différence que vous trouverez dans la nib pour l’instance imageView par défaut et votre nouvelle instance de sous-classe UIImageView est la suivante: vous ne pouvez pas définir l’image sur votre nouvelle imageView à partir de nib (option cmd + 1). Ainsi, dans la méthode -viewDidLoad de son viewController approprié, définissez l’image sur cette sortie de UIImageView.

Ce faisant, vous êtes libre d’append des sous-vues à vos instances “maintenant UIImageView” dans le générateur d’interface, ce qui est très simple.

J’espère que cela t’aides . . .

Je voudrais append une réponse.

Bien qu’il soit difficile de ne pas append de sous-vue à UIImageView , vous pouvez obtenir le même effet en incorporant UIView avec un arrière-plan transparent (couleur claire).

Ensuite, placez la vue UIImageview AVANT.

Ainsi, UIView a les sous-vues et UIImageview est l’arrière-plan de l’ UIView .

Je pense que c’est l’intention de Apple.

Voici une capture d’écran:

entrer la description de l'image ici

Voici le résultat:

entrer la description de l'image ici

N’oubliez pas de définir l’arrière-plan en couleur claire

entrer la description de l'image ici

Maintenant, si quelqu’un pouvait réellement me diriger vers un tutoriel, comment faire, ça va être génial. J’ai passé des heures à le faire de la manière vérifiée. La réponse cochée est une bonne réponse, mais très peu intuitive, car vous ne pouvez pas voir votre image de fond clairement lorsque vous travaillez. Je pense que la mienne est la bonne façon de le faire.

Dans la dernière version de XCode (4.5), il existe une option permettant de faire glisser les contrôles requirejs vers le parent.

C’est assez facile. Capture d’écran jointe pour le même. J’ai déplacé le Label / TextField et le Button vers UIImageView entrer la description de l'image ici

Utilisez ce code:

 UIImage *image = [UIImage imageNamed:@"background.png"]; UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; [self.view insertSubview:imageView atIndex:0]; 

(remplacez background.png par image ) (remplacez atIndex: 0 par n’importe quel endroit de la racine .index dans lequel vous voulez insérer l’image et votre off.