Я создал индикатор выполнения, который будет использоваться в tableView, создав слой градиента. Он работает отлично.
iPhone5:
Чтобы использовать приложение на нескольких устройствах, я создал UIView в Storyboard, пометил его и добавил ограничения. Однако, когда я использую приложение на iPhone 6, CALayer не изменяет размер.
iPhone6:
Я нахожу это очень глупым, но неважно. Я огляделся и попытался понять, как это решить в течение нескольких месяцев, но я пришел к выводу. Знает ли ANYONE, как сделать CALayers изменением размера с помощью UIView? Любая помощь будет очень высоко ценится! Спасибо.
progressBar = cell.contentView.viewWithTag(3) as UIView!
progressBar.layer.cornerRadius = 4
progressBar.layer.masksToBounds = true
// create gradient layer
let gradient : CAGradientLayer = CAGradientLayer()
// create color array
let arrayColors: [AnyObject] = [
UIColor (red: 255/255, green: 138/255, blue: 1/255, alpha: 1).CGColor,
UIColor (red: 110/255, green: 110/255, blue: 118/255, alpha: 1).CGColor]
// set gradient frame bounds to match progressBar bounds
gradient.frame = progressBar.bounds
// set gradient color array
gradient.colors = arrayColors
//Set progress(progressBar)
var percentageCompleted = 0.6
gradient.startPoint = CGPoint(x: 0.0, y: 0.5)
gradient.locations = [percentageCompleted, percentageCompleted]
gradient.endPoint = CGPoint(x: 1, y: 0.5)
// replace base layer with gradient layer
progressBar.layer.insertSublayer(gradient, atIndex: 0)