StoryboardからUIViewの枠線、角丸、影を設定する
7112 ワード
開発環境
- Xcode9.2
- Swift3.2
Storyboardで設定できるプロパティを拡張する
UIViewのextensionとして以下のようなコードを書くとstoryboardでプロパティ設定できる項目が追加されます。
import UIKit
extension UIView {
/// 枠線の色
@IBInspectable var borderColor: UIColor? {
get {
return layer.borderColor.map { UIColor(cgColor: $0) }
}
set {
layer.borderColor = newValue?.cgColor
}
}
/// 枠線のWidth
@IBInspectable var borderWidth: CGFloat {
get {
return layer.borderWidth
}
set {
layer.borderWidth = newValue
}
}
/// 角丸の大きさ
@IBInspectable var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
/// 影の色
@IBInspectable var shadowColor: UIColor? {
get {
return layer.shadowColor.map { UIColor(cgColor: $0) }
}
set {
layer.shadowColor = newValue?.cgColor
layer.masksToBounds = false
}
}
/// 影の透明度
@IBInspectable var shadowAlpha: Float {
get {
return layer.shadowOpacity
}
set {
layer.shadowOpacity = newValue
}
}
/// 影のオフセット
@IBInspectable var shadowOffset: CGSize {
get {
return layer.shadowOffset
}
set {
layer.shadowOffset = newValue
}
}
/// 影のぼかし量
@IBInspectable var shadowRadius: CGFloat {
get {
return layer.shadowRadius
}
set {
layer.shadowRadius = newValue
}
}
}
使い方
storyboardでUIViewまたはUIViewを継承しているクラスを選択してポチポチするだけです
@IBInspectable
はすばらしいアノテーションですね。
おしまい🍣
Author And Source
この問題について(StoryboardからUIViewの枠線、角丸、影を設定する), 我々は、より多くの情報をここで見つけました https://qiita.com/xxminamixx/items/ee8435a4e07d31cf28fd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .