이미지를 디스크에 저장하는 동안 완료하는 데 몇 초가 걸리는 unwind segue가 있습니다. 보기를 닫을 때까지 활동 표시기를 표시하려고하지만보기가 갱신되지 않습니다. Segue 준비가 완료되면 Swift 3 -보기가 업데이트되지 않습니다.
이
는 기각되기 전에 뷰 컨트롤러에서 호출 내 기능입니다 :override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "saveRecord" {
print("indicator")
let indicator = UIActivityIndicatorView()
indicator.frame = self.view.frame
indicator.activityIndicatorViewStyle = .whiteLarge
indicator.color = UIColor.blue
indicator.hidesWhenStopped = true
indicator.startAnimating()
self.view.addSubview(indicator)
self.view.layoutSubviews()
print("laid out subviews")
}
}
두 개의 인쇄 문을 실행하고, 디버거는 표시등이 하위 뷰를 같이 기본보기에 추가 된 것을 알 수 , 그러나 그것은 화면에 나타나지 않습니다. 내가 놓친 게 있니?
표시기의 위치는 viewDidLoad에서 동일한 코드를 올바르게 실행하면 화면 중간에 표시되므로 문제가되지 않습니다.
UPDATE는
나는 대리자를 사용하여 SEGUE 기능을 다시 한 그것은 정확하게 모든 것을 절약,하지만 문제는 남아있다. 여전히 활동 표시기가 없습니다.
@IBAction func saveRecord(_ sender: Any) {
print("indicator")
let indicator = UIActivityIndicatorView()
indicator.frame = self.view.frame
indicator.activityIndicatorViewStyle = .whiteLarge
indicator.color = UIColor.blue
indicator.hidesWhenStopped = true
indicator.startAnimating()
self.view.addSubview(indicator)
self.view.layoutSubviews()
print("laid out subviews")
saveImages()
print("saved images")
self.delegate?.saveRecord(name: name!, category: category)
print("saved record")
self.navigationController?.popViewController(animated: true)
}
업데이트 2
는 지금 정말 혼란 스러워요! 이 표시기 시작합니다
@IBAction func saveRecord(_ sender: Any) {
print("indicator")
indicator.startAnimating()
//saveImages()
//print("images saved")
//performSegue(withIdentifier: "saveRecord", sender: self)
}
을하지만이되지 않습니다 :
@IBAction func saveRecord(_ sender: Any) {
print("indicator")
indicator.startAnimating()
saveImages()
print("images saved")
performSegue(withIdentifier: "saveRecord", sender: self)
}
코드에서 performSegue를 호출 했습니까? –
감사합니다. 예 나는 segue를 유발하는 다양한 방법을 시도했지만 여전히 같은 문제가 있습니다. – Chris