Files
pkurchatov 0663870bf9 Swiftformat
commit_hash:52ce6e4a9f35a44ddef28565cec76ddaabdc2d08
2025-09-18 12:40:09 +03:00

55 lines
1.3 KiB
Swift

import LayoutKit
import LayoutKitPlayground
import PlaygroundSupport
import UIKit
import VGSL
private final class SampleView: UIView {
private let gradientLayer: CALayer = {
let gradientLayer = CAGradientLayer()
gradientLayer.colors = [UIColor.red.cgColor, UIColor.blue.cgColor]
gradientLayer.startPoint = CGPoint(x: 0, y: 0)
gradientLayer.endPoint = CGPoint(x: 1, y: 1)
return gradientLayer
}()
private let label: UILabel = {
let label = UILabel()
label.textColor = .white
return label
}()
init(text: String) {
super.init(frame: .zero)
setupView(text: text)
}
@available(*, unavailable)
required init?(coder _: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
super.layoutSubviews()
label.center = bounds.center
gradientLayer.frame = bounds
}
private func setupView(text: String = "") {
label.text = text
label.sizeToFit()
self.layer.insertSublayer(gradientLayer, at: 0)
self.addSubview(label)
}
}
private func createBlock() -> Block {
GenericViewBlock(
content: .view(SampleView(text: "Just another text.")),
width: .resizable,
height: .fixed(200)
)
}
PlaygroundPage.current.liveView = LayoutKitPlaygroundViewController(blockProvider: createBlock)