Ich arbeite an einem Projekt, das Tabbar-System verwendet. Eine der Registerkarten ist JobPostingViewController. Ich habe es in UINavigationController eingebettet. Es gibt eine UIButton namens aufgerufen neuen Job in diesem View-Controller. Ich implementierte Pushviewcontroller zu gehen CreateJobPostViewController. Dort muss ich UIImagePickerController hinzufügen, um das Bild auszuwählen. Wenn ich auf die Schaltfläche Fertig klicke oder ein Bild aus der Bibliothek wähle, wird es an JobPostingViewController zurückgegeben. Aber es sollte zum CreateJobPostViewController gehen. Bitte helfen Sie mir. Danke im Voraus.Dismissing von UIImagePickerController displisses präsentiert View Controller auch
You can see the issue from this link
-Code in JobPostingViewController
@IBAction func openCreateJob(sender: AnyObject) {
let vc = self.storyboard?.instantiateViewControllerWithIdentifier("CreateJobPostViewController") as! CreateJobPostViewController
self.navigationController?.pushViewController(vc, animated: true)
}
-Code in 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)
}
Ich habe dieses Problem noch nie zuvor gesehen. 'imagePicker' scheint bereits definiert zu sein, bevor 'addImages' aufgerufen wird. Warum? Wird das woanders benutzt? Gibt es einen anderen Code, der gleichzeitig funktioniert? Außerdem rufen Sie 'picker.dismissViewControllerAnimated' auf, und Sie sollen das übergeordnete Element (presentingViewController) auffordern, den modalen Controller (d. H.' Self.dismissViewControllerAnimated') zu verwerfen und dem Dargestellten nicht zu sagen, dass er sich selbst abweisen soll. –
Es macht keinen anderen Sinn, imagePicker als globale Variable zu definieren. Es wird nirgends verwendet. Ich habe beide Optionen ausprobiert, um den Bildauswahl-Controller zu schließen. Ich war es leid, die Lösung zu finden, und ich benutze einen anderen Weg. Danke für deinen Vorschlag. @ Simon McLoughlin – sant05
Können Sie mehr Code oder erklären Sie das Layout der App mehr. Es gibt viele Leute, die verschiedene ähnliche Probleme und Lösungen hervorheben. Ist 'JobPostingViewController' eine Containeransicht? oder in einer Containeransicht? Wie wird dieser Bildschirm geöffnet? Wenn die Auswahl aufgehoben wird, werden die Methoden 'viewWillAppear' /' viewDidAppear', 'viewDidLayoutSubviews' auf' CreateJobPostViewController' ausgelöst. Machst du etwas in diesen Methoden? –