2017-01-29 6 views
0

스위프트 3의 마키 라벨을 사용하고 있습니다. 유일한 문제는 다음과 관련하여 문제가있는 것입니다.스위프트 3 마키 라벨 알림 반복 전이나 집에서 위치

레이블이 원래 위치로 돌아갈 때를 찾으려고합니다. 텍스트가 집으로 돌아 왔을 때 화면 밖일 때 dataString을 업데이트하고 싶습니다.

스크롤하는 동안 문자열을 업데이트하려고하면 자동으로 중지되고 다시 설정됩니다. 또한 내가 너무 타이머 또는 아무것도 사용할 수 없습니다 dataString 길이 변수입니다.

feedLabel.text = dataString 
    feedLabel.type = .continuous 
    feedLabel.speed = .rate(70) 
    feedLabel.fadeLength = 80.0 
    feedLabel.leadingBuffer = 1300.0 
    feedLabel.trailingBuffer = 1300.0 
    feedLabel.labelWillBeginScroll() 

내 dataString가 몇 초마다 업데이트하지만 난 단지 원하는 :

나는 이것이 내가 내 레이블을 설정으로 사용하고 시작 해요 내 코드입니다 Marquee Label

여기에 모든 것을 통해 읽기 있었다 반복하기 바로 전에 내 레이블을 업데이트하십시오.

이것은 내 뇌에 구멍을 불어 넣었습니다. 어떤 제안이라도 대단히 감사하겠습니다.

답변

1

당신은 labelReturnedToHome 기능 MarqueeLabel에서 새로운 상속 클래스를 만들고 재정의 할 수

class CustomMarqueLabel : MarqueeLabel { 
    open var returned : ((Bool)->Void)? 
    override func labelReturnedToHome(_ finished: Bool) { 
     super.labelReturnedToHome(finished) 
     if returned != nil { 
      returned!(finished) 
     } 
    } 
} 

은 다음과 같이 사용합니다

let lengthyLabel = CustomMarqueLabel(frame: CGRect(x: 20, y: 40, width: 200, height: 20), duration: 0.5, fadeLength: 10.0) 
lengthyLabel.returned = {completed in 
      //label returned to begining 
     } 
+0

우수함! 고마워 soooo 많이 @ Mücahit. 이것은 그것을했다. –