gpt4 book ai didi

ios - 如何在 Swift 3 中定义 MPMediaItemPropertyArtwork

转载 作者:可可西里 更新时间:2023-11-01 00:49:04 26 4
gpt4 key购买 nike

此代码工作正常:

func setInfoCenterCredentials(_ artist: String, _ title: String, _ image: UIImage) {
let mpic = MPNowPlayingInfoCenter.default()
let albumArt = MPMediaItemArtwork(image: image)
mpic.nowPlayingInfo = [MPMediaItemPropertyTitle: title,
MPMediaItemPropertyArtist: artist,
MPMediaItemPropertyArtwork: albumArt]
}

但是 Xcode 提示:let albumArt = MPMediaItemArtwork(image: image),

'init(image:)' was deprecated in iOS 10.0

我曾尝试将 image 设为 MPMediaItemPropertyArtwork: image,但这会导致崩溃。

如何为 iOS 10.0 正确设置它?非常感谢您的帮助。

编辑:是的。我在文档中找到了该部分:

init(boundsSize: CGSize, requestHandler: @escaping (CGSize) -> UIImage)

但是我不知道怎么用。

最佳答案

那么这个初始化器要求的是什么?它需要一个大小(足够公平),并且需要一个函数来提供给定大小的图像。

所以你可以像这样天真地实现它:

let albumArt = MPMediaItemArtwork(boundsSize:mySize) { sz in
return image
}

填满必要的空白后,应该可以让您通过编译器(如果没有,请告诉我;我还没有测试过)。但是,这不是一个很好的实现!您应该在该函数中做的是将您的图像缩小到传入参数(我的代码中的sz)中请求的大小。我想我会把它作为练习留给读者......!

关于ios - 如何在 Swift 3 中定义 MPMediaItemPropertyArtwork,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40796441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com