我正在使用一些UIPickerView
委托方法仅用于NDA下的全新Ive修改的iOS,例如:
-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
我不想为iOS6,
实现它们以保留默认的iOS
行为,因此方法中的条件将不起作用。怎么做?
答案 0 :(得分:3)
在您的委托中,覆盖respondsToSelector:
并在旧操作系统的情况下返回NO
:
- (BOOL)respondsToSelector:(SEL)selector
{
if (selector == @selector(pickerView:viewForRow:forComponent:reusingView:))
return MyFunctionThatChecksIosVersionIsMinimum7();
return [super respondsToSelector:selector];
}
因此,您正在正常实现委托方法。当选择器视图询问您的代表是否理解该消息时,您只是在说谎。