Как я могу проверить, доступна ли функция в определенной версии iOS? - PullRequest
6 голосов
/ 05 ноября 2011

В моем AppDelegate я использую прокси внешнего вида для создания пользовательского интерфейса:

//Setup custom appearances
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"header"] forBarMetrics:UIBarMetricsDefault];
    [[UINavigationBar appearance] setTintColor:[UIColor blackColor]];
    [[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"header"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];

Это приведет к сбою в iOS4.Как я могу проверить, доступна ли эта функция в той версии iOS, на которой они работают, чтобы избежать сбоя?

Ответы [ 2 ]

19 голосов
/ 05 ноября 2011

Не проверять ОС, проверьте, существует ли такая возможность.

if ([[UINavigationBar class] respondsToSelector:@selector(appearance)]) {}

1 голос
/ 05 ноября 2011

Попробуйте это:

[UIDevice currentDevice].systemVersion
...