Добавляем градиент в UIView

xcode
swift

#1

Создаем пустой swift файл и вставляем в него код

import UIKit
 
@IBDesignable class GraphView: UIView {
 
  //1 - the properties for the gradient
  @IBInspectable var startColor: UIColor = UIColor.redColor()
  @IBInspectable var endColor: UIColor = UIColor.greenColor()
 
    override func drawRect(rect: CGRect) {
 
      //2 - get the current context
      let context = UIGraphicsGetCurrentContext()
      let colors = [startColor.CGColor, endColor.CGColor]
 
      //3 - set up the color space
      let colorSpace = CGColorSpaceCreateDeviceRGB()
 
      //4 - set up the color stops
      let colorLocations:[CGFloat] = [0.0, 1.0]
 
      //5 - create the gradient
      let gradient = CGGradientCreateWithColors(colorSpace, 
                                                colors, 
                                                colorLocations)
 
      //6 - draw the gradient
      var startPoint = CGPoint.zeroPoint
      var endPoint = CGPoint(x:0, y:self.bounds.height)
      CGContextDrawLinearGradient(context, 
                                  gradient, 
                                  startPoint, 
                                  endPoint, 
                                  0)
    }
}

Добавляем на Storyboard UIView, и в Identity Inspector в поле Class выбираем GraphView.

Переходим в Attributes Inspector и выбираем нужные нам цвета.


#2

Красота) Я чувствую данный ресурс уже превратился в кладезь полезных знаний!


#3

Спасибо!
Полезная информация!


#4

Супер! Буквально на днях искал похожее!


#5

А у меня почему-то выдает ошибку