2016-06-10 17 views
-5

Ich möchte ein Laufschrift-Label in Swift erstellen. Ich habe einige Codes ausprobiert, konnte sie aber nicht zum Laufen bringen.Wie Marquee Text von Label auf swift?

Ich kann dies auch mit Animation tun, aber ich habe Probleme mit der Wiederholung.

versuchte ich this zu

jede mögliche Hilfe geschätzt wird.

+0

Bitte teilen Sie, was Sie (spezifisch) versucht haben und welches Ergebnis Sie wollen. – DJohnson

+0

hast du vorher den Pod 'MarqueeLabel' getestet? ist zu einfach zu benutzen. https://github.com/cbpowell/MarqueeLabel – disepulv

+0

ich versuchte, aber nicht sussed. weil ich sehr Anfänger bin ... – Alfi

Antwort

1

Mit einem Etikett, das seinen Inhalt Festzulegen ist wirklich einfach. Fügen Sie einfach Pod in Ihrem Projekt hinzu.

Swift:

pod 'MarqueeLabel/Swift' 

Und dann wählen Sie die Beschriftung, die Sie wollen auf Marquee auszuführen und die benutzerdefinierte Klasse MarqueeLabel, um es im Identity Inspector hinzuzufügen.

Das ist es.

Dies ist die einfachste Möglichkeit zum Hinzufügen von Laufschrift in Ihrem Label. Nach dem Hinzufügen von Custom Class MarqueeLabel, wenn Sie einen Abstand zwischen dem letzten Zeichen und dem ersten Zeichen des Inhalts Ihres Etiketts haben möchten:

Schritt 1: Wählen Sie das Etikett.

Schritt 2: Wechseln Sie zu Attribute Inspector und erhöhen Sie dann den Attributwert fadeLength so viel, wie Sie möchten. Ein Wert von 10 ist fair genug.

Wenn Sie mehr anpassen möchten, dann fügen Sie dem Etikett benutzerdefinierte Klasse MarqueeLabel hinzu, und nehmen Sie dann den Ausgang dieses Etiketts in Ihrem Code und passen Sie ihn nach Ihren Wünschen an.

Der Ausgang dieses Etikett in Ihrem Code soll wie folgt aussehen:

@IBOutlet var YOURLABELNAME: MarqueeLabel! 

Wenn nicht von vorne beginnt dann, indem zuerst die benutzerdefinierte Klasse mit dem Etikett hinzufügen und dann seinen Ausgang in der Codedatei nehmen.

0

Ich weiß nicht, warum ich 2 -?! ???

Ich habe viele Dinge ausprobiert. das ist nicht mehr wichtig ...

Ich fand diese 5 Minuten her und das ist meine Antwort für die Verwendung von Animation statt Festzelt. aber auf iOS-Zelt ist ein schwieriges Problem!

here is the link that solved my repeating animation problem

habe ich diesen Code und es funktioniert! möchte auch anderen helfen.

auf viewDidLoad:

if let aLabel = self.txtAmarFull { 
     aLabel.pushTransition(3) 

    } 

auf Körper:

extension UIView { 
func pushTransition(duration:CFTimeInterval) { 
    let animation:CATransition = CATransition() 
    animation.timingFunction = CAMediaTimingFunction(name: 
     kCAMediaTimingFunctionEaseInEaseOut) 
    animation.type = kCATransitionMoveIn 
    animation.subtype = kCATransitionFromLeft 
    animation.duration = duration 
    animation.repeatCount = 99 
    self.layer.addAnimation(animation, forKey: kCATransitionPush) 
} 

mein Label Name ist: txtAmarfull

0

ich noch viel besser Lösung gegründet!

I Kombinierte 2 Verschiedene Verfahren zusammen

hier mit diesem Code in swift Sie Marquee mit entscheidenden Wiederholung zu tun und sehr einfach! Legen Sie einfach Ihre Label-Out-Seite der Display-Ansicht fest.

UIView.animateWithDuration(8.0, delay:0, options: [.Repeat], animations: { 
     self.YOURLABELNAME.frame = CGRectMake(self.YOURLABELNAME.frame.origin.x - 500, self.YOURLABELNAME.frame.origin.y - 0, self.YOURLABELNAME.frame.size.width, self.YOURLABELNAME.frame.size.height) 
     }, completion: nil)