Доступ к ViewController в iOS -встроенное расширение для Adobe Air

#iphone #objective-c #xcode #air

#iPhone #objective-c #xcode #air

Вопрос:

Короткое: Android-API для Air-Native-Extensions предоставляет getActivity() для контекстного объекта. Я ищу способ получить текущий ViewController в iOS-Native-Extensions

Long: нам нужно расширить Air не только некоторыми вызовами iOS-API для доступа к вибрации и т. Д., Но Мы хотим отобразить представление (MPMediaPickerController для выбора файла из библиотеки iTunes). В основной части к собственным расширениям в Adobe MAX 2011 (http://tv.adobe.com/watch/max-2011-develop/how-to-extend-your-mobile-air-applications-using-native-extensions/) Оливер Голдман сказал, что можно показывать полные представления, используя собственные расширения. Чтобы отобразить MPMediaPickerController (или любое другое представление), мне нужно вызвать presentModalViewController на текущем ViewController или получить доступ к контроллеру навигации. Я надеялся, что есть способ каким-то образом получить указатель на контроллер, но я не нашел никаких документов об этом.

Ответ №1:

Вы можете использовать этот фрагмент кода. Это работает.

 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];
  

Надеюсь, это поможет.

С наилучшими пожеланиями, Эмиль

Комментарии:

1. Большое спасибо!! У меня был UIWebView, и я хотел его отобразить, поэтому добавление его в качестве подвида UIView сработало. Однако UIWebView должен быть инициализирован с помощью указанного rect

2. @Heitara Возможно ли переопределить методы в UIViewController? Особенно: предпочтительные настройки экрана для настройки системы

3. @Oldes да — developer.apple.com/documentation/uikit/uiviewcontroller /…