2017-02-12 91 views
-1

我只是想弄明白,當你按下按鈕時,你會顯示用戶的音樂庫,然後你可以選擇一首歌曲。我發現這樣做的方式是通過MPMediaPickerController,但我一直在努力讓它工作。這是我的程序看起來像至今:如何在swift 3上使用MPMedaPickerController?

import MediaPlayer 
import UIKit 

class ViewController: UIViewController, MPMediaPickerControllerDelegate { 
var mediaPicker: MPMediaPickerController? 


override func viewDidLoad() { 
    super.viewDidLoad() 

} 

@IBAction func showSongs(_ sender: Any) { 
    displayMediaPicker() 
} 
func displayMediaPicker() { 
    mediaPicker = MPMediaPickerController(mediaTypes: .music) 
    if let picker = mediaPicker { 
     picker.delegate = self 
     picker.allowsPickingMultipleItems = false 
     picker.showsCloudItems = false 
     picker.prompt = "Please Pick a Song" 
     view.addSubview(picker.view) 
     } 
} 

} 

我知道應該[self presentViewController:picker animated: true completion:nil]view.addSubview(picker.view)後的屬性,但是當我鍵入我的選項presentingViewController & presentedViewContoller,但沒有presentViewController

任何幫助將不勝感激

回答

2

函數presentViewController: animated: completion:函數在Swift 3中更名,所以現在看起來像這樣:

present(viewControllerToPresent: UIViewController, animated: Bool, completion: (() -> Void)?)

所以,你的情況你會最終有一個presentPicker功能看起來像這樣(請注意最後一行):

func presentPicker() { 
    mediaPicker = MPMediaPickerController(mediaTypes: .music) 
    if let picker = mediaPicker { 
     picker.delegate = self 
     picker.allowsPickingMultipleItems = false 
     picker.showsCloudItems = false 
     picker.prompt = "Please Pick a Song" 
     present(picker, animated: false, completion: nil) 
    } 
} 

希望幫助你。