Как проверить, существует ли определенный метод / класс / API в Xamarin iOS?

В советах по совместимости iOS 6 и 7 рекомендуется проверить конкретный API, как этот

public static bool IsiOS7 { get { return UIDevice.CurrentDevice.CheckSystemVersion (7, 0); } } if(Util.IsiOS7) { //Call iOS 7 API } else { //Call iOS 6.1 or earlier API } 

То же самое следует сделать для iOS 8. Теперь я прочитал, что вы должны проверить, существует ли какой-либо метод или класс вместо проверки версий. Здесь появляется RespondsToSelector . Это должно быть что-то вроде этого

 if (RespondsToSelector(new Selector("edgesForExtendedLayout"))) EdgesForExtendedLayout = UIRectEdge.None; 

Но как бы проверить, существует ли целый класс, например, UIAlertController ? Нет NSClassFromString как в Objective-C. Я также видел что-то подобное в Objective-C

 if ([UIAlertController class]){ // ... } 

Будет ли что-то вроде этого делать трюк?

 Type type=Type.GetType("UIAlertController"); if(type!=null) { // iOS 8 API }else{ // iOS 7 or lower } 

Как это сделать на C #? Или какие другие способы существуют для проверки UIAlertController , UISearchController и т. Д.

One Solution collect form web for “Как проверить, существует ли определенный метод / класс / API в Xamarin iOS?”

Сделай это:

 using MonoTouch.ObjCRuntime; bool hasUIAlertController = Class.GetHandle ("UIAlertController") != IntPtr.Zero; if (hasUIAlertController) { // iOS 8 } else { // iOS 7 or lower } 
  • xamarin.ios реализует PageController с кодом только для изображений
  • Xamarin: Ошибка MT2002: не удалось разрешить «System.Void System.Security.Cryptography.SHA1Cng ::. Ctor ()»
  • Можете ли вы разместить два поля редактирования бок о бок?
  • Правильный способ удаления UIViewController
  • Круги рисования в Xamarin.iOS (Xamarin Monotouch) для отображения прогресса графически
  • MonoTouch NSClassFromString
  • Как вы показываете индикатор сети iOS во время выполнения задачи TPL?
  • Где ушел «оконный» проект?
  • Как предотвратить аварийные сообщения от iOS от аварийных приложений MonoTouch?
  • Приложение iOS не заполняет экран iPhone
  • Огурцы / Calabash-iOS и Xamarin.iOS
  • Можно ли использовать MonoTouch.Dialog с каскадными источниками данных?
  • Interesting Posts

    Отрегулируйте размер шрифта, подходящий для нескольких UIButton, чтобы все они имели одинаковый размер шрифта

    Сформировать SSL-сертификаты в приложении iOS программно

    API POST API вызывает проблемы с корпусом JSON

    Сегментированное управление, изменение непрозрачности оттенка, но не границы

    Ошибка Ionic Framwork при попытке добавить проект платформы ios

    Заказ основных объектов данных в разделе просмотра таблицы

    Как получить .ipa-файл с PhoneGap для iOS?

    iOS UI – Магазин приложений Изучение раздела Переход

    как перезагрузить дополнительный вид в collectionView

    javascript-файл не загружается, а stringByEvaluatingJavaScriptFromString также не выполняется?

    Захват изображения UIView (renderInContext не работает должным образом)

    Попытка открыть приложение iOS в TestFlight вызывает ошибку «Приложение недоступно. Попробуй еще раз."

    Показывать начальное представление при каждом запуске приложения

    switch ios simulator всегда сообщает об ошибке

    Поток большого фильма с учетными данными через MPMoviePlayer

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.