【发布时间】:2012-09-19 23:33:28
【问题描述】:
我正在尝试通过在 [UIBarButtonItem appearance] 上运行 respondsToSelector 来检测 iOS 6 特定的外观方法。但是,无论我指定什么选择器,它总是为我返回 NO:
// Should show NOPE in iOS 5, YEP in iOS 6. Shows NOPE always
NSLog(@"%@", [[UIBarButtonItem appearance] respondsToSelector:@selector(setBackgroundImage:forState:style:barMetrics:)] ? @"YEP" : @"NOPE");
// Should show YEP in both iOS 5 and iOS 6. Shows NOPE always
NSLog(@"%@", [[UIBarButtonItem appearance] respondsToSelector:@selector(setBackgroundImage:forState:barMetrics:)] ? @"YEP" : @"NOPE");
实际上,在它们各自的 iOS 版本上使用这些方法都可以正常工作,但我似乎无法检测到哪一个对我可用。那么我该如何正确地做到这一点呢?
【问题讨论】:
标签: objective-c xcode ios5 ios6 uiappearance