Я пытаюсь добавить подслой на моем UIImageView
, но он не работает.Добавить градиент на UIImageView
- У меня есть набор из 10 изображений, именованных от
photo0
доphoto9
и отобразить его с таймером 5 сек. - Выход
shanghaiImage
мой фон
Я хотел бы добавить градиент поверх этого Marty, как: прозрачный (сверху) до черного (внизу).
Спасибо за помощь :)
Вот мой код в Swift 3.
Эта часть прекрасно:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var shanghaiImage: UIImageView!
// beginning index
var _curentImageIndex:Int = 0
// number of images
let NUMBER_OF_IMAGES:Int = 10
// creation of the Timer
var _uiTimer:Timer?
override func viewDidLoad() {
super.viewDidLoad()
showPhoto(atIndex: _curentImageIndex)
}
// MARK TIMER ---------
func selectNewTimer(){
if let existingTimer:Timer = _uiTimer{
existingTimer.invalidate()
}
_uiTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(ViewController.showNextImage), userInfo: nil, repeats: true)
}
Именно здесь, где есть проблема. Я не знаю, почему он не работает.
// MARK PHOTO ---------
func showPhoto(atIndex index:Int){
let photoName:String = "photo\(index)"
shanghaiImage.image = UIImage(named: photoName)
let gradient = CAGradientLayer()
gradient.frame = shanghaiImage.bounds
let startColor = UIColor(colorLiteralRed: 0, green: 0, blue: 0, alpha: 1)
let endColor = UIColor.black
gradient.colors = [startColor, endColor]
shanghaiImage.layer.insertSublayer(gradient, at: 0)
_curentImageIndex = index
selectNewTimer()
}
func showNextImage() {
var nextPhotoIndex:Int = _curentImageIndex + 1
if nextPhotoIndex >= NUMBER_OF_IMAGES {
nextPhotoIndex = 0
}
showPhoto(atIndex: nextPhotoIndex)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
«Здесь, где есть проблема». Но вы не сказали, в чем проблема _is_. – matt
О, да, напишите, жуйте, на самом деле у меня есть изображения, которые меняются каждые 5 секунд; но эффект градиента на моем UIimageView не «работает», у меня нет тени или чего-то поверх моих изображений :) – Alexandre
@Alexandre Вы сохранили это изображение в галерее i-Phone? –