Como implementar botões neumórficos no iOS usando Swift e Objective-C

Apr 01 2023
Neumorfismo é uma tendência de design que visa criar um efeito 3D usando sombras e destaques. Nesta seção, mostrarei como implementar um botão neumórfico no iOS usando Swift e Objective-C.

Neumorfismo é uma tendência de design que visa criar um efeito 3D usando sombras e destaques. Nesta seção, mostrarei como implementar um botão neumórfico no iOS usando Swift e Objective-C.

Implementação rápida:

Para criar um botão neumórfico no Swift, siga estes passos:

  1. Abra o Xcode e crie um novo projeto.
  2. Arraste e solte um botão da Biblioteca de objetos em seu controlador de exibição.
  3. Defina a cor de fundo do botão para cinza claro.
  4. Crie um novo arquivo Swift, nomeie-o “NeumorphicButton.swift” e adicione o seguinte código:
  5. import UIKit
    
    class NeumorphicButton: UIButton {
        
        override func awakeFromNib() {
            super.awakeFromNib()
            configureButton()
        }
        
        private func configureButton() {
            layer.cornerRadius = frame.height / 2
            layer.shadowColor = UIColor.darkGray.cgColor
            layer.shadowOffset = CGSize(width: 5, height: 5)
            layer.shadowOpacity = 0.7
            layer.shadowRadius = 5
            layer.backgroundColor = UIColor.lightGray.cgColor
            setTitleColor(.white, for: .normal)
        }
    }
    

Implementação de Objetivo-C:

Para criar um botão neumórfico em Objective-C, siga estas etapas:

  1. Abra o Xcode e crie um novo projeto.
  2. Arraste e solte um botão da Biblioteca de objetos em seu controlador de exibição.
  3. Defina a cor de fundo do botão para cinza claro.
  4. Crie um novo arquivo Objective-C, nomeie-o “NeumorphicButton.m” e adicione o seguinte código:
  5. #import "NeumorphicButton.h"
    
    @implementation NeumorphicButton
    
    - (void)awakeFromNib {
        [super awakeFromNib];
        [self configureButton];
    }
    
    - (void)configureButton {
        self.layer.cornerRadius = self.frame.size.height / 2;
        self.layer.shadowColor = [UIColor darkGrayColor].CGColor;
        self.layer.shadowOffset = CGSizeMake(5, 5);
        self.layer.shadowOpacity = 0.7;
        self.layer.shadowRadius = 5;
        self.layer.backgroundColor = [UIColor lightGrayColor].CGColor;
        [self setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    }
    
    @end