Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to implement marquee label in IOS using swift

How to implement MarqueeLabel in iOS. I found example in Objective-C but I'm using Swift.

like image 790
Munkhbold Enkhtur Avatar asked Oct 08 '15 05:10

Munkhbold Enkhtur


3 Answers

For creating marquee in swift Add Below Class in your Project https://github.com/cbpowell/MarqueeLabel

To do this first add the pod: pod 'MarqueeLabel'.

And perform a pod update in your project.

Then import pod in your working file: import MarqueeLabel

Create one label and set the custom class as MarqueeLabel in the storyboard. Then:

@IBOutlet weak var marqueeLabel:MarqueeLabel!

In ViewDidLoad add this:

marqueeLabel.type = .Continuous
marqueeLabel.scrollDuration = 5.0
marqueeLabel.animationCurve = .EaseInOut
marqueeLabel.fadeLength = 10.0
marqueeLabel.leadingBuffer = 30.0
marqueeLabel.trailingBuffer = 20.0
like image 173
Uma Madhavi Avatar answered Nov 03 '22 16:11

Uma Madhavi


Use MarqueeLabel, it very easy to use & implement.

If you are using Pod then you can integrate and try sample code as:

Objective-C:

pod 'MarqueeLabel'

MarqueeLabel *lengthyLabel = [[MarqueeLabel alloc] initWithFrame:aFrame duration:8.0 andFadeLength:10.0f];

Swift:

pod 'MarqueeLabel/Swift'

var lengthyLabel = MarqueeLabel.init(frame: aFrame, duration: 8.0, fadeLength: 10.0)


Another Solution Using Web View:

String marquee = "<html><body><marquee>This is sample marquee</marquee></body></html>"
webview.loadData(marquee, "text/html", null);


Here is result:

enter image description here

like image 4
Krunal Avatar answered Nov 03 '22 17:11

Krunal


Using a label which can Marquee up its content is really simple. Just add MarqueeLabel pod in your project.

Swift:

pod 'MarqueeLabel/Swift'

And then select the label you wish to perform Marquee on and add the Custom Class MarqueeLabel to it in the Identity Inspector.

That's it.

This is the Simplest way to add marquee in your Label. After adding Custom Class MarqueeLabel if you want some spacing in between the last character and the first character of the content of your label then:

Step 1: Select the label.

Step 2: Go to Attributes Inspector and then increase the fadeLength attribute value the much you want to have. Applying value 10 to it is fair enough.

If you wish to customize more then Add custom class MarqueeLabel to the Label and then take the outlet of that Label in you Code and customize it the way you want to.

The outlet of that Label in your code should look like this:

@IBOutlet var YOURLABELNAME: MarqueeLabel!

If not so then start over by first adding the custom class to the label and then taking its outlet in the code file.

like image 2
Mr. JD Agrawal Avatar answered Nov 03 '22 15:11

Mr. JD Agrawal