// // MarqueeLabel.swift // PrivateAPISample // // Created by Chronos2500 on 2025/05/13. // import SwiftUI fileprivate let text = """ Swift is a modern, intuitive programming language crafted for all Apple platforms. """ struct MarqueeLabelView: View { var body: some View { MarqueeLabel( text, font: .preferredFont(forTextStyle: .title1) ) } } struct MarqueeLabel: UIViewRepresentable { var text: String var repeatCount: Int var font: UIFont var textColor: UIColor init( _ text: String, repeatCount: Int = 0, font: UIFont = .preferredFont(forTextStyle: .body), textColor: UIColor = .label ) { self.text = text self.repeatCount = repeatCount self.font = font self.textColor = textColor } func makeUIView(context: Context) -> UILabel { let label = UILabel() label.text = text label.textAlignment = .natural label.font = font label.textColor = textColor label.backgroundColor = .clear label.numberOfLines = 1 label.setContentCompressionResistancePriority(.defaultLow, for: .horizontal) label.setContentHuggingPriority(.defaultLow, for: .horizontal) label.setContentHuggingPriority(.required, for: .vertical) label.setContentCompressionResistancePriority(.required, for: .vertical) label.adjustsFontForContentSizeCategory = true label.setValue(true, forKey: "marqueeEnabled") label.setValue(true, forKey: "marqueeRunning") label.setValue(repeatCount, forKey: "marqueeRepeatCount") label.setValue(40, forKey: "marqueeLoopPadding") label.setValue(true, forKey: "marqueeUpdatable") return label } func updateUIView(_ uiView: UILabel, context: Context) { } } #Preview { MarqueeLabelView() }