现在我正试图使我的代码,使我使用的表情符号在文件的其他地方可用。我不擅长文字,所以这可能没有意义。
表情符号如下:
enum Emojis: String {
case eyes1 = "👀"
case eyes2 = "👁"
case nose1 = "👃"
case nose2 = "🐽"
case mouth1 = "👄"
case mouth2 = "💋"
static let allValues: [Emojis] = [.eyes1, .eyes2, .nose1, .nose2, .mouth1, .mouth2]
func getImage() -> UIImage {
let image = UIImage(named: self.rawValue)!
return image.withRenderingMode(.alwaysTemplate)
}
}
我想在这里使用这个:
extension Emojis {
func getImage() -> UIImage {
let image = UIImage(named: self.rawValue)!
return image.withRenderingMode(.alwaysTemplate)
}
}
使用扩展部分,Xcode告诉我在scope中找不到Emojis。
我试着把花括号放在表情符号的大小写之后,但后来我在代码的其他部分得到了30个错误。
我希望它只接受表情符号的值
假设您的项目中有named
图像,以下内容适合我:
enum Emojis: String {
case eyes1 = "👀"
case eyes2 = "👁"
case nose1 = "👃"
case nose2 = "🐽"
case mouth1 = "👄"
case mouth2 = "💋"
// static let allValues: [Emojis] = [.eyes1, .eyes2, .nose1, .nose2, .mouth1, .mouth2]
// func getImage() -> UIImage {
// let image = UIImage(named: self.rawValue)!
// return image.withRenderingMode(.alwaysTemplate)
// }
}
extension Emojis {
func getImage() -> UIImage {
if let image = UIImage(named: self.rawValue) {
return image.withRenderingMode(.alwaysTemplate)
} else {
return UIImage()
}
}
}
struct ContentView: View {
var body: some View {
Image(uiImage: Emojis.nose2.getImage())
}
}