Сделайте пользовательский вид с помощью @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