#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 /…