Pour la simple frontière comme vous l'avez décrit, utilisez la réponse de Dima à l'aide de CALAyer.
Si vous souhaitez de plus, l'e.g un rectangle arrondi avec un dégradé puis utiliser cette approche comme base:
Créer une Vue personnalisée qui dessine un rectangle arrondi et placez-le sur le bouton.
Utiliser la fonction de recherche ici à la recherche pour dessiner un rectangle arrondi.
Le dessin des œuvres de dessin 4 arcs avec rayon défini (coins) et 4 lignes droites.
FTR, voici comment vous faire une UIView avec le bon iOS7 coins arrondis, par Alex et Brian.
Je suis assez sûr que CGPathCreateWithRoundedRect ne pas vous donner la "nouvelle" des coins arrondis. Vous devez utiliser bezierPathWithRoundedRect pour la "nouvelle" coins.
#import "UIViewWithIOS7RoundedCorners.h"
@implementation UIViewWithIOS7RoundedCorners
-(void)drawRect:(CGRect)rect
{
// for a filled shape...
UIBezierPath* path =
[UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:4];
[[UIColor blueColor] setFill];
[path fill];
// for just a border...
int thickness=2;
UIBezierPath* path =
[UIBezierPath bezierPathWithRoundedRect:
CGRectInset(self.bounds, thickness/2, thickness/2)
cornerRadius: 4];
path.lineWidth = thickness;
[[UIColor blueColor] setStroke];
[path stroke];
}
@end
// ps don't forget to set .backgroundColor=[UIColor clearColor]
// perhaps in initWithCoder/initWithFrame
Espérons que cela aide quelqu'un