File tree Expand file tree Collapse file tree
Example/SoftUIExample/Base.lproj
Framework/SoftUI/Core/Shared Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3939 <userDefinedRuntimeAttribute type =" number" keyPath =" distance" >
4040 <real key =" value" value =" 20" />
4141 </userDefinedRuntimeAttribute >
42+ <userDefinedRuntimeAttribute type =" boolean" keyPath =" useSoftUI" value =" YES" />
4243 </userDefinedRuntimeAttributes >
4344 </view >
4445 </subviews >
Original file line number Diff line number Diff line change @@ -12,6 +12,17 @@ typealias Holder<T> = [Int: T]
1212
1313// swiftlint:disable identifier_name
1414internal extension CALayer {
15+ private static var _soft_useSoftUI = Holder < Bool > ( )
16+ var soft_useSoftUI : Bool {
17+ set ( value) {
18+ CALayer . _soft_useSoftUI [ self . hash] = value
19+ self . soft_update ( )
20+ }
21+ get {
22+ return CALayer . _soft_useSoftUI [ self . hash] ?? false
23+ }
24+ }
25+
1526 private static var _soft_tag = Holder < Int > ( )
1627 var soft_tag : Int {
1728 set ( value) {
@@ -141,6 +152,8 @@ internal extension CALayer {
141152 }
142153
143154 private func soft_update( ) {
155+ if !self . soft_useSoftUI { return }
156+
144157 self . sublayers? . removeAll ( where: { $0. soft_tag > 0 } )
145158
146159 // Main layer
Original file line number Diff line number Diff line change @@ -10,6 +10,16 @@ import UIKit
1010
1111@IBDesignable
1212public extension UIView {
13+ @IBInspectable
14+ var useSoftUI : Bool {
15+ set ( value) {
16+ self . layer. soft_useSoftUI = value
17+ }
18+ get {
19+ return self . layer. soft_useSoftUI
20+ }
21+ }
22+
1323 @IBInspectable
1424 var cornerRadius : CGFloat {
1525 set ( radius) {
You can’t perform that action at this time.
0 commit comments