Отображение вида из произвольного метода на iPhone - PullRequest
1 голос
/ 05 сентября 2010

Я собираю несколько утилитарных методов для тестирования, и я хотел бы иметь возможность открыть представление из произвольного метода - такого, который не обязательно знает о каких-либо UIViewControllers или окнах. Возможно ли это?

Например, я готовлю специальную прокладку менеджера местоположений, чтобы при тестировании я могла вручную вводить данные о местоположении. Мне бы хотелось, чтобы некоторые методы вызывали MKMapView, чтобы позволить мне выбирать «текущее местоположение» вместо ручного ввода значений lat / long в коде.

Ответы [ 3 ]

1 голос
/ 05 сентября 2010

Следуя советам @ vodkhang, я взглянул на код и создал свою собственную категорию (UIView + ShowThySelf), чтобы открыть любое произвольное представление из любого метода. Для желающих его можно найти на github

http://github.com/appsinyourpants/Pants-Framework

1 голос
/ 05 сентября 2010

Сводка ранее упомянутых методов, на случай, если вы хотите развернуть свой собственный код:

Создайте UIControl.Напишите метод для отклонения этого элемента управления и добавьте его в качестве цели для этого элемента управления.Поместите представление, которое вы хотите открыть внутри этого элемента управления в качестве подпредставления.Используйте:

[UIApplication sharedApplication] keyWindow]

или (в редком случае ваше приложение имеет более одного окна, например, поддержку VGA-кабеля):

[[[UIApplication sharedApplication] windows] objectAtIndex: 0]

, чтобы найти место, где можно добавить подпредставление(элемент управления, который вы создали).Добавьте его.

1 голос
/ 05 сентября 2010

Я думаю, что это возможно, даже если я точно не знаю, как это сделать. Причина, по которой я знаю, что это возможно, потому что я вижу FBConnect из Facebook и DDSocialLoginDialog Библиотека делает то, что вы описываете.

Исходный код и архитектура FBConnect довольно сложны, но DDSocialLoginDialog легко получить и извлечь необходимый исходный код (2 класса с 4 файлами и несколько сотен строк кода). Оба с открытым исходным кодом. Затем я надеюсь, что вы можете изменить исходный код, чтобы он мог добавить MKMapView в качестве подпредставления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...