Pracuję nad projektem, który używa systemu paska zakładek. Jednym z elementów paska zakładek jest JobPostingViewController. I Osadź go w UINavigationController. Istnieje UIButton o nazwie dodaj nowe zadanie w tym kontroler widoku .I zaimplementowałem pushviewcontroller, aby przejść do CreateJobPostViewController. Tam muszę dodać UIImagePickerController, aby wybrać obraz. Po naciśnięciu przycisku Gotowe lub wybraniu obrazu z biblioteki zostanie on odrzucony do JobPostingViewController. Ale powinien przejść do CreateJobPostViewController. Ktoś mi pomoże. Z góry dziękuję.Odrzucanie UIImagePickerController odrzuca wyświetlanie kontrolera widoku również
You can see the issue from this link
kodu w JobPostingViewController
@IBAction func openCreateJob(sender: AnyObject) {
let vc = self.storyboard?.instantiateViewControllerWithIdentifier("CreateJobPostViewController") as! CreateJobPostViewController
self.navigationController?.pushViewController(vc, animated: true)
}
kodu w CreateJobPostViewController
@IBAction func addImages(sender: AnyObject) {
imagePicker.allowsEditing = false
imagePicker.sourceType = .PhotoLibrary
presentViewController(imagePicker, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
picker.dismissViewControllerAnimated(true, completion: nil)
}
func imagePickerControllerDidCancel(picker: UIImagePickerController) {
picker.dismissViewControllerAnimated(true, completion: nil)
}
Nigdy wcześniej nie widziałem tego problemu. 'imagePicker' zdaje się być już zdefiniowane przed wywołaniem 'addImages'. Czemu? czy to jest używane gdzie indziej? Czy istnieje inny kod działający w tym samym czasie? Również dzwonisz do 'picker.dismissViewControllerAnimated', którego powinieneś poprosić rodzica (prezentując ViewController) o zwolnienie kontrolera modalnego (tj.' Self.dismissViewControllerAnimated'), nie mówiąc o tym, aby prezentowany sam siebie odrzucił. –
Nie ma sensu definiowanie imagePicker jako zmiennej globalnej. Nie jest on nigdzie używany. Próbowałem obu opcji, które sugerujesz, aby odrzucić kontroler widoku wyboru obrazu. Byłem zmęczony znalezieniem rozwiązania i korzystałem z niego w inny sposób. Dziękuje za twoją sugestię. @ Simon McLoughlin – sant05
Czy możesz dodać więcej kodu lub wyjaśnić układ aplikacji więcej. Wiele osób zwraca uwagę na różne podobne problemy i rozwiązania. Czy 'JobPostingViewController' jest widokiem kontenera? lub w widoku kontenera? Jak otwiera się ten ekran? gdy selektor zostanie odrzucony, wywoła metody 'viewWillAppear' /' viewDidAppear', 'viewDidLayoutSubviews' na' CreateJobPostViewController'. Czy robisz cokolwiek w tych metodach? –