[ios] Come arrotondare gli angoli di un pulsante



4 Answers

È possibile ottenere da questo Attributi RunTime

possiamo fare pulsante personalizzato. Basta vedere lo screenshot allegato.

cortesemente fai attenzione:

in runtime gli attributi per cambiare colore del bordo seguono questa istruzione

  1. creare una classe di classe di CALayer

  2. nel file h

    @property(nonatomic, assign) UIColor* borderIBColor;
    
  3. nel file m:

    -(void)setBorderIBColor:(UIColor*)color {
        self.borderColor = color.CGColor;
    }
    
    -(UIColor*)borderIBColor {
        return [UIColor colorWithCGColor:self.borderColor];
    }
    

ora in poi per impostare lo screenshot del controllo del colore del bordo

Grazie

Question

Ho un'immagine rettangolare (jpg) e voglio usarla per riempire lo sfondo di un pulsante con l'angolo arrotondato in xcode.

Ho scritto quanto segue:

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

Tuttavia, il pulsante che ottengo con questo approccio non ha gli angoli arrotondati: è invece un semplice rettangolo che assomiglia esattamente alla mia immagine originale. Come posso ottenere invece un'immagine con un angolo arrotondato per rappresentare il mio pulsante?

Grazie!




Spingendo fino al limite del raggio dell'angolo per ottenere una circonferenza:

    self.btnFoldButton.layer.cornerRadius = self.btnFoldButton.frame.height/2.0;

Se il riquadro del pulsante è un quadrato, non importa frame.height o frame.width. Altrimenti usa il più grande di entrambi.







Per Swift:

button.layer.cornerRadius = 10.0



UIButton* closeBtn = [[UIButton alloc] initWithFrame:CGRectMake(10, 50, 90, 35)];
//Customise this button as you wish then
closeBtn.layer.cornerRadius = 10;
closeBtn.layer.masksToBounds = YES;//Important



Related