A label which can scroll when text length beyond the width of label, in Swift.
Overview
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Requirements
Version | Needs |
---|---|
1.x | XCode 8.0+ Swift 3.0+ iOS 8.0+ |
4.x | XCode 9.0+ Swift 4.0+ iOS 8.0+ |
Installation
EFAutoScrollLabel is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "EFAutoScrollLabel"
Setup
Simply initialize a EFAutoScrollLabel
the same way you set up a regular UILabel
:
let myLabel = EFAutoScrollLabel(frame: CGRect(x: 10, y: 10, width: 200, height: 40))
self.view.addSubview(myLabel)
Use
1. Import EFAutoScrollLabel module where you want to use it:
import EFAutoScrollLabel
EFAutoScrollLabel
and set some parameter:
2. Initialize a let myLabel = EFAutoScrollLabel(frame: CGRect(x: 10, y: 10, width: 200, height: 40))
myLabel.backgroundColor = UIColor(red: 253.0 / 255.0, green: 255.0 / 255.0, blue: 234.0 / 255.0, alpha: 1)
myLabel.textColor = UIColor(red: 249.0 / 255.0, green: 94.0 / 255.0, blue: 22.0 / 255.0, alpha: 1)
myLabel.font = UIFont.systemFont(ofSize: 13)
myLabel.labelSpacing = 30 // Distance between start and end labels
myLabel.pauseInterval = 1.7 // Seconds of pause before scrolling starts again
myLabel.scrollSpeed = 30 // Pixels per second
myLabel.textAlignment = NSTextAlignment.left // Centers text when no auto-scrolling is applied
myLabel.fadeLength = 12 // Length of the left and right edge fade, 0 to disable
myLabel.scrollDirection = EFAutoScrollDirection.Left
myLabel.observeApplicationNotifications()
self.view.addSubview(myLabel)
AutoLayout
is also supported.
3. PS
The first version of EFAutoScrollLabel is converted from AutoScrollLabel.
Author
EyreFree, eyrefree@eyrefree.org
License
EFAutoScrollLabel is available under the MIT license. See the LICENSE file for more info.