[英]viewDidLoad() is called every time after dismiss() of UIImagePickerController()
我從ViewControllerA
提供了UIImagePickerController()
,當我選擇一個圖像時,它的委托被調用,在該委托中我寫了
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
dismiss(animated: true, completion: nil)
}
但是ViewControllerA
viewDidLoad()
也稱為
請查找以下代碼,不會每次都調用viewDidLoad。
override func viewDidLoad() {
super.viewDidLoad()
print("View Did Load")
}
private func imagePickerController(_ picker: UIImagePickerController,
didFinishPickingMediaWithInfo info: [String : AnyObject]) {
picker.dismiss(animated: true, completion: nil);
_ = info[UIImagePickerControllerOriginalImage] as! UIImage
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
picker.dismiss(animated: true, completion: nil)
}
使用此代碼打開照片庫,
@IBAction func btnclicked(_ sender: Any) {
let picker = UIImagePickerController()
picker.sourceType = .photoLibrary
picker.delegate = self
self.present(picker, animated: true, completion: nil)
}
還發布您的一些代碼,以便我進行檢查。
如有任何疑問,請通知我。
使用UIImagePickerViewController時,通常相機會發出內存警告,並且會調用您的viewcontroller的viewDidUnload方法。 下次顯示視圖時(關閉UIImagePickerViewController時),將調用viewDidLoad方法,因為該方法先前已卸載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.