Ajouter une UIImageView à une UIView
J'ai été coincé sur depuis un certain temps maintenant, de sorte que toute aide sera grandement appréciée.
J'ai fait une classe appelée forme qui est un UIView
et je veux ajouter une UIImageView
pour que UIView
.
Voici mon .h fichier:
@interface Shape : UIView {
int blockWidth;
int blockHeight;
NSString *colour;
IBOutlet UIImageView *blockView;
}
@property (nonatomic, retain) IBOutlet UIImageView *blockView;
@property (nonatomic, retain) NSString *colour;
-(void)setColour:(NSString *)colour;
-(void)createShape:(int)blocksX :(int)blocksY;
@end
Et voici mon .m fichier:
@implementation Shape
@synthesize blockView;
@synthesize colour;
- (void)setColour:(NSString *)colour{
NSLog(@"Colour: %@", colour);
}
-(void)createShape:(int)blocksX :(int)blocksY{
self.frame = CGRectMake(0, 0, 200, 200);
blockView.frame = CGRectMake(0, 0, 100, 100);
self.backgroundColor = [UIColor greenColor];
blockView.backgroundColor = [UIColor redColor];
[self addSubview:blockView];
}
- (void)dealloc {
[blockView release];
[colour release];
[super dealloc];
}
@end
Merci beaucoup!
Hey Encore une fois désolé si c'est confus, mais Im essayant de port ce c sharp code sur l'objectif, le code ci-dessus est ma première tentative, et n'est évidemment pas besoin d'être fini, mais vous pouvez espérer voir ce que je suis en train de réaliser, désolé mais je suis complètement nouveau pour Objective-C et il est complètement différent de d'autres langues, je suis d'utilisation :S
public class Shape : UIView
{
public UIImageView blockView;
private int blockWidth = 40;
private int blockHeight = 40;
public Shape (int startX, int startY ,string colour, int blocksX, int blocksY)
{
Console.WriteLine("Colour: "+colour+" Blocks: "+blocksX+" "+blocksY);
this.Frame = new RectangleF(startX,startY,blockWidth*blocksX,blockHeight*blocksY);
this.UserInteractionEnabled = true;
for(int i = 0; i<blocksX; i++)
{
for(int j = 0; j<blocksY; j++)
{
blockView = new UIImageView(UIImage.FromFile("Images/Blocks/"+colour+"block.jpg"));
blockView.Frame = new RectangleF(blockWidth*i,blockHeight*j,blockWidth,blockHeight);
Console.WriteLine("I: "+i+" J: "+j);
this.AddSubview(blockView);
}
}
}
- avez-vous essayé d'ajouter une image à elle?
- Pouvez-vous utiliser le bloc de code bouton? Il rend votre code plus facile à lire pour tout le monde. Aussi lorsque vous tentez d'ajouter l'image?
Vous devez vous connecter pour publier un commentaire.
(supprimé texte ancien)
En fait, ce que vous faites dans votre code C# n'est pas différente en Objective-C (ce code n'est pas testé!):
Dans le fichier d'en-tête:
Mise en œuvre de fichier:
Cette application ajoute simplement le UIImageViews comme des sous-vues. Notez que le
blockView
est alloué et configuré, puis on ajoute une sous-vue deself
. L'appel de-addSubview:
conserve la nouvelle sous-vue et ajoute encore à la vue de la hiérarchie. Par conséquent,blockView
est libéré immédiatement. Lorsque l'ensemble de laShapeView
objet est libéré, UIView de-dealloc
mise en œuvre prend soin de supprimer et de libérer les sous-vues.Espère que ça aide!
#import
consolidés. Maintenant ils sont dans le code ci-dessus. J'ai également corrigé un copier&pâte d'erreur (kBlockWidth
etkBlockHeight
ont été mal orthographié). Il compile pour moi maintenant.