首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >国际化UIButton

国际化UIButton
EN

Stack Overflow用户
提问于 2015-05-11 23:17:54
回答 1查看 71关注 0票数 1

我有一些按钮,在你按下它们后,我想播放一些audio.The按钮的名称是音频文件的名称

代码语言:javascript
复制
private func playAudio(title : String){
    audioPlayer = AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource(title, ofType: "wav")!), error: nil)
    isPlayng = true
    audioPlayer.play()
}

@IBAction func soundButton (sender: UIButton){
    if let title = sender.currentTitle{
        switch title {
        case "Stop":
            if isPlayng{
            audioPlayer.stop()
            }
        default:
            playAudio(title)
        }
    }
}

因此,如果我本地化的写字板,标题将不同,它崩溃,因为没有音频file.So,有一种方法,我可以做到这一点,而不是复制音频文件。

EN

回答 1

Stack Overflow用户

发布于 2015-05-12 00:32:41

这是一个天真的实现,但它可能会给您一些想法:您可以将实际的文件名和本地化的文件名保存在一个字典中(也许可以先将它们存储在Plist文件中,然后在appp启动时加载它们),并从本地化的标题中获取实际的文件名:

代码语言:javascript
复制
let filesTitles = ["file one": "file1.wav", "fichier un": "file1.wav", "archivo uno": "file1.wav"] // etc

@IBAction func soundButton (sender: UIButton) {
    if let title = sender.currentTitle {
        switch title {
        case "Stop":
            if isPlayng{
                audioPlayer.stop()
            }
        default:
            // if title is `file one` then fileName is `file1.wav`
            let fileName = filesTitles[title]
            playAudio(fileName)
        }
    }
}

在我的示例中,这是一个简单的字典,但是您可以选择任何您喜欢的方式,其思想是创建一个表,其中本地化标题与实际文件标题相对应。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30171494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档