[swift] 38.MarqueeLabel을 이용한 실시간 주식 정보 효과 애니메이션 구현하기

목차

소개

실시간 주식 정보를 효과적으로 보여주기 위해서는 텍스트의 움직임을 구현하는 애니메이션을 사용할 수 있습니다. 이번 글에서는 MarqueeLabel을 이용하여 실시간 주식 정보를 효과적인 애니메이션으로 구현하는 방법에 대해 알아보겠습니다.

MarqueeLabel 사용하기

MarqueeLabel은 텍스트가 움직이는 효과를 주는 UILabel의 서브클래스입니다. 다양한 속성을 설정할 수 있으며, 텍스트가 주어진 너비를 벗어나면 애니메이션으로 텍스트를 이동시킵니다.

MarqueeLabel을 사용하기 위해서는 CocoaPods를 이용하여 MarqueeLabel 라이브러리를 프로젝트에 추가해야 합니다. 다음은 Podfile에 MarqueeLabel을 추가하는 예시입니다.

pod 'MarqueeLabel'

이제 Podfile을 저장한 후, 터미널에서 pod install 명령어를 실행하여 MarqueeLabel을 프로젝트에 설치합니다.

주식 정보 API 호출하기

실시간 주식 정보를 얻기 위해서는 주식 정보를 제공하는 API를 호출해야 합니다. 대부분의 주식 정보 API는 RESTful API로 제공되며, JSON 형식으로 데이터를 반환합니다.

주식 정보 API를 호출하기 위해서는 URLSession을 사용하여 HTTP 요청을 보내고 데이터를 받아와야 합니다. 다음은 URLSession을 사용하여 주식 정보 API를 호출하는 예시입니다.

let url = URL(string: "https://api.stock.com/stock/info")!
let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
    if let data = data {
        let json = try? JSONSerialization.jsonObject(with: data, options: [])
        // JSON 데이터를 파싱하여 주식 정보를 활용합니다.
    }
}
task.resume()

위의 예시에서는 “https://api.stock.com/stock/info”라는 URL을 사용하여 주식 정보 API를 호출하고 있습니다. 실제로는 해당 URL을 API 서비스의 실제 URL로 변경해야 합니다.

애니메이션 구현하기

주식 정보 API에서 얻은 데이터를 활용하여 MarqueeLabel을 이용한 애니메이션을 구현할 수 있습니다. 데이터를 주기적으로 업데이트하고, MarqueeLabel에 텍스트를 설정하여 애니메이션을 보여줍니다.

let stockLabel = MarqueeLabel(frame: CGRect(x: 0, y: 0, width: 200, height: 20))
stockLabel.marqueeType = .MLContinuous
stockLabel.scrollDuration = 15.0
stockLabel.fadeLength = 10.0
stockLabel.text = "AAPL 123.45"
self.view.addSubview(stockLabel)

위의 예시에서는 MarqueeLabel의 속성을 설정하고, 텍스트를 설정하여 주식 정보를 표시하고 있습니다. 주식 정보를 업데이트할 때마다 텍스트를 갱신하면 애니메이션이 시작됩니다.

참고 자료