[swift] 37.MarqueeLabel을 이용한 출발 정보 스크롤 효과 구현하기

이번에는 iOS 앱에서 출발 정보를 표시하는 데에 사용되는 스크롤 효과를 구현하는 방법에 대해 알아보겠습니다. 이를 위해 MarqueeLabel이라는 라이브러리를 사용할 것입니다.

MarqueeLabel이란 무엇인가?

MarqueeLabel은 UILabel의 하위 클래스로, 긴 텍스트를 자동으로 스크롤하는 기능을 제공해줍니다. 이 라이브러리를 사용하면 애니메이션 효과가 있는 출발 정보를 보여줄 수 있습니다.

MarqueeLabel 설치하기

먼저, MarqueeLabel을 프로젝트에 추가해야 합니다. 이를 위해 CocoaPods를 사용하겠습니다.

Podfile에 다음과 같이 MarqueeLabel을 추가합니다:

pod 'MarqueeLabel'

터미널을 열고 프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다:

pod install

이제 MarqueeLabel을 사용할 준비가 되었습니다.

MarqueeLabel 사용하기

먼저, MarqueeLabel을 사용할 뷰 컨트롤러에 import 문을 추가합니다:

import MarqueeLabel

우리는 출발 정보를 보여주기 위해 MarqueeLabel을 TableViewCell에 추가할 것입니다.

class DepartureTableViewCell: UITableViewCell {

    @IBOutlet weak var departureLabel: MarqueeLabel!
    //...
}

이제 UITableView에 사용할 커스텀 셀을 생성했습니다.

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "DepartureCell", for: indexPath) as! DepartureTableViewCell

    // 출발 정보 설정
    cell.departureLabel.text = "Seoul → Busan"
    cell.departureLabel.type = .continuous // MarqueeLabel의 타입을 continuous로 설정

    return cell
}

마지막으로, 출발 정보를 나타내는 UILabel을 생성하고 MarqueeLabel로 변환하기 위해 아래 코드를 추가합니다:

let departureLabel = UILabel()
let marqueeLabel = MarqueeLabel(frame: CGRect(x: 0, y: 0, width: 200, height: 20), duration: 10, fadeLength: 10)
marqueeLabel.text = "Seoul → Busan"
marqueeLabel.type = .continuous

departureLabel.addSubview(marqueeLabel)

위 코드에서, duration 매개변수는 스크롤 애니메이션이 한 번 완전히 완료되는 데에 걸리는 시간을 지정합니다. 여기서는 10초로 설정하였습니다. fadeLength 매개변수는 스크롤이 시작되기 전에 사라지는 글자 수를 결정합니다.

이제 출발 정보 스크롤 효과가 적용된 MarqueeLabel을 사용하여 앱에서 출발 정보를 보여줄 수 있습니다.

이상으로, MarqueeLabel을 사용하여 출발 정보 스크롤 효과를 구현하는 방법에 대해 알아보았습니다. 이 라이브러리를 사용하여 앱을 더욱 동적으로 만들어보세요!