Der Benutzer befindet sich derzeit auf einem ViewController, der Modally
vorgestellt wurde.Verwenden der UIAlertController-Aktion zum programmgesteuerten Verknüpfen mit dem eingebetteten UIViewController
Ich versuche, eine UIAlertViewController der OK
Taste Aktion anschließen zu verbinden programmatisch zu einem UIViewController
in einem UINavigationController
eingebettet.
Wie so:
Dies ist ein Ausschnitt aus meinem entsprechenden Code ist:
func paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
....// some code
case .Restored:
....// some code
let alert = UIAlertController(title: "Thank You!", message: "You now have FULL ad-free Access", preferredStyle: UIAlertControllerStyle.Alert)
let OKAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) { (action:UIAlertAction) in
// Goto Main Page:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("MainMainViewController");
self.navigationController?.presentViewController(vc, animated: true, completion: nil)
}
alert.addAction(OKAction)
self.presentViewController(alert, animated: true, completion: nil)
break;
default:
break;
}
Wesentlichen, wenn der Nutzer einen Kauf wieder her (oder macht einen erfolgreichen), würde ich sie gerne klicken OK
, um sie an einen anderen ViewController zu senden - MainMainViewcontroller
.
Aber wenn ich auf die Schaltfläche OK
klicke, passiert nichts.
Wohin gehe ich falsch?
Vielen Dank im Voraus Art Damen und Herren/Mesdames;)
Ist Ihr modal präsentiert View Controller in einem Navigationscontroller eingebettet? Ist dies nicht der Fall, wird die Eigenschaft "navigationController" in "nil" aufgelöst und nichts passiert über diesen Punkt hinaus. Versuchen Sie, Ihre Präsentationszeile zu self.presentViewController zu bearbeiten (vc, animiert: true, completion: nil) –
Da sich Ihr MainMainViewController in einem UINavigationController befindet, erstellen Sie einen Instant von UINavigationController, und präsentieren Sie diesen. – Amit89
@ Amit89 Perfectamundo! Ja, ich habe versucht, eine programmatische Verbindung zum eingebetteten ViewController herzustellen, als ich mit dem NavigationController eine Verbindung herstellen sollte, die den ViewController hält. Möge dieses Wochenende dich mit Güte überschütten! –