问题
Short: The Android-API for Air-Native-Extensions provides a getActivity() on the Context-Object. I am looking for a way, to get the current ViewController in iOS-Native-Extensions
Long: We need to extend Air with more than just some iOS-API-Calls to access vibration etc, but want to display a View (MPMediaPickerController to select a File from the iTunes library). In the Keynote to native extensions on Adobe MAX 2011 (http://tv.adobe.com/watch/max-2011-develop/how-to-extend-your-mobile-air-applications-using-native-extensions/) Oliver Goldman said, it is okay to show complete Views by using native extensions. To show the MPMediaPickerController (or any other View), I need to call presentModalViewController on the current ViewController or need access to the Navigation Controller. I hoped there is a way to get a pointer to the controller somehow, but I have not found any documentaion about it.
回答1:
You can use this piece of code. It works.
UIViewController * myViewController;
id delegate = [[UIApplication sharedApplication] delegate];
UIWindow * win = [delegate window];
myViewController = [[MyView alloc] init];
// CGRect rect = CGRectMake(x,y,w,h);
// init the view position some how myViewController.viewFrame = rect;
[win addSubview:myViewController.view];
Hope this helps.
Best, Emil
来源:https://stackoverflow.com/questions/7914378/access-viewcontroller-in-ios-native-extension-for-adobe-air