J'essaie de styler mon prototype de cellule de tableau intérieur UIView
pour qu'il ait l'ombre et pour une personnalisation de style plus, mais pour une raison quelconque lorsque je construis le projet les changements ne sont pas appliqués.Swift @ IBDesignable/@ IBInspectable Style UIView
J'ai le code suivant pour en fichier séparé CustomView.swift
import UIKit
@IBDesignable
class CustomView: UIView {
@IBInspectable var cornerRadius: CGFloat = 0 {
didSet {
layer.cornerRadius = cornerRadius
layer.masksToBounds = cornerRadius > 0
}
}
@IBInspectable var shadowOpacity: Float = 0 {
didSet {
layer.shadowOpacity = shadowOpacity
}
}
@IBInspectable var shadowRadius: CGFloat = 0 {
didSet {
layer.shadowRadius = shadowRadius
}
}
@IBInspectable var shadowOffset: CGSize = CGSize(width: 0.0, height: 0.0) {
didSet {
layer.shadowOffset = shadowOffset
}
}
@IBInspectable var shadowColor: UIColor? = UIColor(red: 157/255, green: 157/255, blue: 157/255, alpha: 1.0) {
didSet {
layer.shadowColor = shadowColor?.cgColor
}
}
}
Je vois le champ dans l'attribut « inspecteur » de Xcode 9
mais après sa construction le changement ne sont pas appliquées fondamentalement, je ne vois pas l'ombre pour la vue.
Le plus intéressant que j'utilise la même approche pour personnaliser les champs de texte ainsi que des boutons et ce code fonctionne pour UIButton/UITextField
mais pas pour UIView
Est-ce que quelqu'un sait pourquoi il ne fonctionne pas pour UIView
?
Toute aide grandement appréciée.
Merci.
salut, merci de revenir à moi. J'ai essayé votre suggestion de code et cela n'a pas fonctionné pour moi. C'est ainsi que mon story-board ressemble à ce [storyboard] (https://i.imgur.com/xcRwYbu.png) et après avoir construit le projet, c'est ce que je vois dans le simulateur pour IPhone8 [sim_result] (https: // i .imgur.com/t0XtB7p.png) pas d'ombre. Le code dans mon CustomView.swift le même plus votre changement suggéré. –
dans votre capture d'écran de storyboard Je ne vois pas le drapeau ClipsToBounds, vérifiez si ce n'est pas vrai, cela devrait être faux aussi –
Salut ouais, je pense que c'était un problème après avoir défini clipToBounds à false cela a commencé à fonctionner. J'apprécie vraiment votre aide. Merci –