[swift] 100.MarqueeLabel을 이용한 차트 정보 효과 애니메이션 구현하기

안녕하세요! 이번에는 Swift를 이용하여 차트 정보를 효과적으로 표시하기 위한 애니메이션 구현 방법을 알아보겠습니다.

흔히 차트 정보를 표시할 때, 정보가 길어질 경우 모든 텍스트를 한 번에 보여주기 어려울 수 있습니다. 이런 경우에는 Marquee(마두리) 형태로 정보를 흐르게 표시하는 것이 유용합니다.

1. MarqueeLabel 라이브러리 설치

먼저, Marquee 효과를 구현하기 위해 MarqueeLabel이라는 라이브러리를 설치해야 합니다. Cocoapods를 이용하여 다음과 같이 설치할 수 있습니다.

pod 'MarqueeLabel'

설치를 완료한 후에는 프로젝트를 다시 빌드해야 합니다.

2. MarqueeLabel 사용하기

MarqueeLabel 라이브러리를 성공적으로 설치한 후에, 다음과 같이 MarqueeLabel을 사용하여 차트 정보를 표시할 수 있습니다.

import MarqueeLabel

let marqueeLabel = MarqueeLabel()
marqueeLabel.text = "차트 정보 텍스트"
marqueeLabel.type = .continuous
marqueeLabel.speed = .duration(15)
marqueeLabel.leadingBuffer = 30
marqueeLabel.trailingBuffer = 30

위 코드에서 marqueeLabel은 MarqueeLabel 인스턴스입니다. text 속성을 통해 표시할 텍스트를 설정할 수 있으며, type 속성을 통해 Marquee 효과의 종류를 선택할 수 있습니다. .continuous 값은 텍스트가 끝까지 흐를 때 다시 처음으로 돌아와 반복하는 효과입니다.

speed 속성은 Marquee 효과의 속도를 조절하는데 사용됩니다. 위 예제에서는 duration(15)로 설정하여 텍스트가 15초 동안 한 번 흘러가도록 만들었습니다.

leadingBuffertrailingBuffer 속성은 텍스트가 화면 내에서 이동할 때의 여유 공간을 설정하는데 사용됩니다. 임의로 값을 조정하여 이동 효과를 조절할 수 있습니다.

3. 차트 정보 효과 애니메이션

MarqueeLabel을 사용하여 차트 정보를 표시하는 애니메이션을 구현하기 위해 다음과 같이 코드를 작성하면 됩니다.

UIView.animate(withDuration: 1.0, delay: 0, options: [.repeat, .curveLinear], animations: {
    marqueeLabel.center.x -= (marqueeLabel.bounds.width / 2.0)
}) { (completed) in
    marqueeLabel.center.x += (marqueeLabel.bounds.width / 2.0)
}

위 코드에서는 UIView의 animate 메서드를 사용하여 MarqueeLabel의 center 속성을 조정하여 애니메이션 효과를 구현합니다. duration 값은 애니메이션의 지속 시간을 설정하며, options 값은 애니메이션의 반복 및 곡선 옵션을 설정합니다. 위 예제에서는 .repeat 옵션을 통해 애니메이션을 반복하도록 설정하였습니다.

애니메이션의 마지막에는 completion 블록을 사용하여 애니메이션이 완료되면 원래 위치로 복귀하도록 설정합니다.

마무리

이렇게 MarqueeLabel 라이브러리를 사용하여 차트 정보를 효과적으로 표시하는 애니메이션을 구현할 수 있습니다. MarqueeLabel의 속성을 조정하면서 다양한 효과를 만들어보세요.

더 자세한 정보는 MarqueeLabel GitHub 저장소에서 확인할 수 있습니다.