Я вытащил image
из album artwork
выбранной песни с помощью MPMediaItemArtwork
и я пытаюсь установить это произведение как образ background
аналогично тому, как spotify
имеет это установить, однако я получаю две ошибкиНевозможно установить обложку альбома, как цвет фона
Нельзя присвоить значение типа «UIColor» типу значения «UIColor?»
, а также
Не удалось найти перегрузку 'инициализации', который принимает входящие в комплект поставки аргументы
И вот мой код ниже
func setAlbumCover(){
var AlbumImage = MPMediaItemArtwork()
self.view.backgroundColor = UIColor(patternImage: UIImage(named: AlbumImage)!)
if !UIAccessibilityIsReduceTransparencyEnabled() {
self.view.backgroundColor = UIColor.clearColor()
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.ExtraLight)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = self.view.bounds
self.view.addSubview(blurEffectView) //if you have more UIViews on screen, use insertSubview:belowSubview: to place it underneath the lowest view instead
//add auto layout constraints so that the blur fills the screen upon rotating device
blurEffectView.setTranslatesAutoresizingMaskIntoConstraints(false)
self.view.addConstraint(NSLayoutConstraint(item: blurEffectView, attribute: NSLayoutAttribute.Top, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Top, multiplier: 1, constant: 0))
self.view.addConstraint(NSLayoutConstraint(item: blurEffectView, attribute: NSLayoutAttribute.Bottom, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Bottom, multiplier: 1, constant: 0))
self.view.addConstraint(NSLayoutConstraint(item: blurEffectView, attribute: NSLayoutAttribute.Leading, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Leading, multiplier: 1, constant: 0))
self.view.addConstraint(NSLayoutConstraint(item: blurEffectView, attribute: NSLayoutAttribute.Trailing, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Trailing, multiplier: 1, constant: 0))
} else {
self.view.backgroundColor = UIColor.whiteColor()
}
}
I знаю, что у меня, вероятно, есть глупая ошибка, но я не могу понять это
Так как это исправить первую часть? –
предоставляют ** изображение ** для 'UIColor (patternImage:)', полученного из 'MPMediaItemArtwork', ** не самого произведения **. Код выше не работает? Вы действительно загружаете «MPMediaItemArtwork» из музыкальной библиотеки или создаете ее таким образом? – libec