3 개의보기 컨트롤러가 있습니다. 첫 번째 문자는 UIimageview
이고, 두 번째 문자는 customCameraViewController
이고 두 번째 문자는 previewController
입니다. 응용 프로그램이 첫 번째 컨트롤러에서 시작되고 사용자가 사진을 캡처 한 후 customCameraViewController
으로 이동하는 단추가있는 경우 previewController
으로 전달하여 사진 저장 또는 취소를 결정합니다. 사용자가 사진을 저장하는 경우 세그를 사용하여 uiimage
을 다시 전달하고 첫 번째 컨트롤러에 표시합니다.이미지보기에 이미 이미지가있을 때 이미지 및 디스플레이 통과하기
uiimageView가 이미 "기본 프로필 사진"으로 설정되어 있습니다. 사용자가 응용 프로그램을 열 때이 문제를 어떻게 해결할 수 있습니까? 그것은 "기본 사진"을 표시 한 후 사진을 캡처하고 firstViewController로 다시 전달하고 "캡처 사진"
를 표시 FirstviewController
var image:UIImage!
override func viewDidLoad() {
super.viewDidLoad()
if imageView.image == nil{
print("nothing")
imageView.image = UIImage(named: ("defaultPhoto"))
}else if imageView.image == UIImage(named: ("defaultPhoto")) && imageView.image != nil{
print("have image")
imageView.removeFromSuperview()
imageView.image = image
}
}
PreviewViewController
class PreviewViewController: UIViewController {
var image: UIImage!
@IBOutlet weak var photoPic: UIImageView!
@IBAction func cancelAction(_ sender: Any) {
dismiss(animated: true, completion: nil)
}
@IBAction func saveAction(_ sender: Any) {
self.performSegue(withIdentifier: "savePicSegue", sender: nil)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "savePicSegue" {
let destinationVC = segue.destination as! FirstViewController
destinationVC.image = self.image
}
}
예를 들어 디스크에 사진을 저장하면 앱을 열 때마다 사진을 찍어 다시 넣습니다. – kirander
더 나은 설명이 없으면, 이것은 나에게보기 및보기 컨트롤러 "수명주기"문제가 있다고 들립니다. 'viewWillAppear'에서 이미지 업데이트를 시도 했습니까? – dfd
@dfd 시도했지만 작동하지 않습니다. –