A high-performance iOS framework for text layout and rendering, offering a faster and more flexible alternative to UILabel and UITextView.
STULabel is an open-source iOS framework that provides a high-performance label view and text layout API for Swift and Objective-C. It solves performance bottlenecks in text rendering by offering faster layout, asynchronous rendering, and advanced features like flexible truncation and hyperlink support, making it a robust alternative to UILabel and UITextView.
iOS developers building apps with complex text display needs, such as social media clients, readers, or any interface requiring efficient multi-line text rendering with custom styling.
Developers choose STULabel for its significant performance improvements over standard UIKit components, its flexible API for advanced text layout, and features like async rendering and customizable truncation that are not available in UILabel or UITextView.
A faster and more flexible label view for iOS
Benchmarks in the demo app show STULabel is several times faster than UILabel and UITextView, thanks to aggressive caching and efficient text scaling techniques that reduce layout overhead.
Supports asynchronous layout and rendering, allowing text processing on background threads to maintain smooth UI performance, especially beneficial for scrolling lists with complex scripts.
Offers customizable truncation tokens and multiple truncation scopes, enabling interactive elements like 'tap to read more' links within truncated text, as demonstrated in the demo app.
Provides fine-grained control over vertical alignment, baseline positioning, and content insets, with accurate handling of complex scripts and fonts, unlike UILabel's inconsistent behavior.
Cannot be configured visually in Xcode's Interface Builder due to IBInspectable limitations, requiring all setup and styling to be done in code, which increases development time for UI-heavy projects.
Has limitations with UIKit's systemLayoutSizeFitting for self-sizing cells, necessitating custom overrides in UITableViewCell or UICollectionViewCell, as admitted in the README.
Lacks text selection, automatic link detection (like UITextView's dataDetectorTypes), and support for some Text Kit attributes, making it less feature-complete for general use cases.
A drop-in replacement for UILabel that supports attributes, data detectors, links, and more
[EXPERIMENTAL] Graceful morphing effects for UILabel written in Swift.
UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift
UILabel replacement with fine-grain appear/disappear animation
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.