Сделайте пользовательский вид с помощью @IBDesignable с помощью эффектов и анимации

Это помогает создавать собственный макет прямо в Интерфейсном Разработчике. Легко создать любое пользовательское представление, и вы можете напрямую предоставить ему любые эффекты, такие как border width, border color, corner radius, shadow color, shadow width, shadow Opacity.

Здесь я покажу вам, как создать собственное представление с помощью @IBDesignable.

Вам просто нужно скачать файл ANCustom view из репозитория Github, а затем перетащить его в свой проект.

После этого вам нужно пройти UIView’s Проверка личности и добавить собственный класс как ANCustomView.

Здесь вы сможете увидеть все варианты, которые я упомянул выше -

Код, который я использовал в настраиваемом классе UIView -

@IBInspectable var cornerRadius: Double {
     get {
       return Double(self.layer.cornerRadius)
     }set {
       self.layer.cornerRadius = CGFloat(newValue)
     }
}
@IBInspectable var borderWidth: Double {
      get {
        return Double(self.layer.borderWidth)
      }
      set {
       self.layer.borderWidth = CGFloat(newValue)
      }
}
@IBInspectable var borderColor: UIColor? {
     get {
        return UIColor(cgColor: self.layer.borderColor!)
     }
     set {
        self.layer.borderColor = newValue?.cgColor
     }
}
@IBInspectable var shadowColor: UIColor? {
    get {
       return UIColor(cgColor: self.layer.shadowColor!)
    }
    set {
       self.layer.shadowColor = newValue?.cgColor
    }
}
@IBInspectable var shadowOpacity: Float {
    get {
       return self.layer.shadowOpacity
    }
    set {
       self.layer.shadowOpacity = newValue
   }
}

В зависимости от ваших требований вы можете настроить значение атрибута.

Также мы можем добавить код для эффектов анимации для нашего представления внутри настраиваемого класса -

private func provideAnimation(animationDuration:TimeInterval, deleyTime:TimeInterval, springDamping:CGFloat, springVelocity:CGFloat){
        self.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
        UIView.animate(withDuration: animationDuration,
                       delay: deleyTime,
                       usingSpringWithDamping: springDamping,
                       initialSpringVelocity: springVelocity,
                       options: .allowUserInteraction,
                       animations: {
                       self.transform = CGAffineTransform.identity
        })
    }

Вы можете найти полный проект здесь.

Теперь, наконец, мы знаем, как с меньшими затратами кода создавать хорошие UIViews для нашего приложения iOS из прямого конструктора интерфейсов. Давайте посмотрим видео -

Благодарю вас !

Я надеюсь тебе это понравится. 😊 Спасибо за чтение. 🎉

Если у вас есть вопросы по этому руководству? или хотите узнать об этом больше. Твиттер меня: @Anand