198 votes

Comment arrondir les coins d'un bouton

J'ai une image rectangle (jpg) et je veux l'utiliser pour remplir le fond d'un bouton avec des coins arrondis dans xcode.

J'ai écrit ce qui suit :

UIButton *button = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
CGRect frame = CGRectMake(x, y, cardWidth, cardHeight);
button.frame = frame;
[button setBackgroundImage:backImage forState:UIControlStateNormal];

Cependant, le bouton que j'obtiens avec cette approche n'a pas ses coins arrondis : c'est plutôt un rectangle simple qui ressemble exactement à mon image originale. Comment puis-je obtenir à la place une image aux coins arrondis pour représenter mon bouton ?

Merci !

8voto

Ankit Solanki Points 447

Importation Cadre de travail QuartCore s'il n'est pas présent dans votre projet existant, alors importer #import <QuartzCore/QuartzCore.h> sur viewcontroller.m

UIButton *button = [[UIButton buttonWithType:UIButtonTypeRoundedRect]];
CGRect frame = CGRectMake(x, y, width, height); // set values as per your requirement
button.layer.cornerRadius = 10;
button.clipsToBounds = YES;

4voto

iOS Lifee Points 513

Définissez d'abord width=100 et Height=100 pour le bouton.

Solution Objective C

YourBtn1.layer.cornerRadius=YourBtn1.Frame.size.width/2;
YourBtn1.layer.borderColor=[uicolor blackColor].CGColor;
YourBtn1.layer.borderWidth=1.0f;

Solution Swift 4

YourBtn1.layer.cornerRadius = YourBtn1.Frame.size.width/2
YourBtn1.layer.borderColor = UIColor.black.cgColor
YourBtn1.layer.borderWidth = 1.0

3voto

iOS Points 1497

Essayez mon code. Ici, vous pouvez définir toutes les propriétés de UIButton, comme la couleur du texte, la couleur d'arrière-plan, le rayon des coins, etc.

extension UIButton {
    func btnCorner() {
        layer.cornerRadius = 10
        clipsToBounds = true
        backgroundColor = .blue
    }
}

Maintenant, appelez comme ceci

yourBtnName.btnCorner()

3voto

enter image description here

Pour Objectif C :

submitButton.layer.cornerRadius = 5;
submitButton.clipsToBounds = YES;

Pour Swift :

submitButton.layer.cornerRadius = 5
submitButton.clipsToBounds = true

2voto

pableiros Points 4682

Pour Swift :

button.layer.cornerRadius = 10.0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X