UILabel에 쉽게 그라데이션을 적용하는 방법

소개



사람은 누구나 한 번 이상과 현실의 격차로 고통받는다.

예를 들어, UILabel에 그라데이션을 적용하려고 했을 때 등이 거기에 상당할 것이다.

아래의 두 이미지를 비교해 보자. 이상은 위이지만 아래가 현실이다.




UIView의 그라데이션 지식, 즉 CAGradientLayer를 그대로 UILabel에 적용하려고 생각한 얕은 인간이 이 세상에는 존재한다. 그래, 필자이다.

인간에게 한정된 것은 아니지만 다행히도 인간에게는 학습 능력이 있다. 여담이지만 필자는 대학 시대 학습에 대해 연구하고 있었다.
대학에서 배운 것을 활용할 수 없는 어리석은 나를 대신해, 성실하고 현명한 여러분들은 어쩌면 이런 실태를 저지르지 않도록 여기에 리포트를 정리해 둔다. 도움이 되는 기회가 찾아오길 바란다.

보고서



[결론] UIView에 그라데이션을 적용하고 UILabel로 마스킹한다.
let frame: CGRect = /* foo */
let view: UIView = UIView(frame: frame)
let label: UILabel = UILabel(frame: frame)

label.text = /* bar */
// ViewにLabelを追加する
view.addSubView(label)

// CAGradientLayerによるグラデーションの適用
let gradientLayer: CAGradientLayer = CAGradientLayer()
gradientLayer.frame = view.bounds
gradientLayer.colors = [
    /* UIColor */
]
// グラデーション方向の指定 (以下は縦方向)
gradientLayer.startPoint = CGPoint(x: 0.5, y: 0)
gradientLayer.endPoint = CGPoint(x: 0.5, y: 1.0)

// Viewに対してグラデーションを適用させる
view.layer.insertSublayer(self.gradientLayer, at: 0)

// ViewをLabelでマスクする
view.mask = label

이상.

참고


  • Quickly apply gradient colors to text in iOS

  • 홍보



    CiNii API 클라이언트 라든지 iOS의 소프트웨어 아키텍처 아는 녀석 모두 쓴 녀석 [도움말] 라든지 심리학 실험을 할 수있는 사람 라든지 하고 있습니다.

    좋은 웹페이지 즐겨찾기