2009-10-17 6 views

Répondre

0

Je ne pense pas, mais vous pouvez mettre un UIView gris au lieu de votre image, puis ajouter l'image en tant qu'enfant de ce UIView gris. Rendez l'image un peu plus petite et placez-la au centre, en définissant son cadre de façon appropriée, de sorte que vous ne voyiez que quelques pixels de l'UIView derrière. De cette façon, il apparaîtra comme si l'image avait une bordure.

6

Si vous êtes sur iPhone OS 3.0, vous pouvez utiliser les propriétés borderWidth et borderColor de CALayer de votre point de vue de l'image pour ajouter une bordure sur l'image, comme suit:

imageView.layer.borderWidth = 4.0f; 
CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB(); 
CGFloat values[4] = {0.5, 0.5, 0.5, 1.0}; 
CGColorRef grey = CGColorCreate(space, values); 
imageView.layer.borderColor = grey; 
CGColorRelease(grey); 
CGColorSpaceRelease(space); 

Cela crée un 4-pixel- bordure large avec une couleur entièrement opaque ayant des valeurs RVB à mi-chemin entre le blanc et le noir.

+0

Pourquoi ne pas simplement utiliser UIColor * color = [UIColor colorWithRed: 0.5f Vert: Bleu 0.5f: 0.5f alpha: 1,0f]; imageView.layer.borderColor = couleur.CGColor ?? –

+0

J'avais extrait ce code de couleur de certains trucs multiplateformes Mac/iPhone que j'avais écrits. En plus de travailler sur les deux plates-formes, il peut y avoir un léger avantage en termes de performances et de mémoire en évitant de créer une instance temporaire d'UIColor juste pour extraire le CGColorRef. Cela ne ferait que jouer avec des dessins fréquents, auquel cas je recommanderais de mettre en cache l'espace colorimétrique et la couleur de toute façon. –

+0

Cela ne fait rien à l'image dans une cellule sous iOS 6.x sur Xcode 4.6.3. –

6

vous pouvez essayer cette

[imageView.layer setBorderColor: [[UIColor blackColor] CGColor]]; 
[imageView.layer setBorderWidth: 2.0]; 

pour cela, vous devez importer <QuartzCore/QuartzCore.h>

+0

Odd. J'utilise ceci, mais je n'obtiens aucun changement visible du tout. cell.imageView.layer.masksToBounds = YES; // ne pas oublier #import cell.imageView.layer.cornerRadius = 5.0; cellule.imageView.layer.borderColor = (__bridge CGColorRef) ([UIColor blueColor]); [cellule.imageView.layer setBorderWidth: 10.0f]; cell.imageView.layer.borderWidth = 10.0f; –

Questions connexes