根据iOS版本禁用委托方法

时间:2013-09-09 14:29:01

标签: iphone ios objective-c uikit uipickerview

我正在使用一些UIPickerView委托方法仅用于NDA下的全新Ive修改的iOS,例如:

-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view

我不想为iOS6,实现它们以保留默认的iOS行为,因此方法中的条件将不起作用。怎么做?

1 个答案:

答案 0 :(得分:3)

在您的委托中,覆盖respondsToSelector:并在旧操作系统的情况下返回NO

- (BOOL)respondsToSelector:(SEL)selector
{
    if (selector == @selector(pickerView:viewForRow:forComponent:reusingView:))
        return MyFunctionThatChecksIosVersionIsMinimum7();
    return [super respondsToSelector:selector];
}

因此,您正在正常实现委托方法。当选择器视图询问您的代表是否理解该消息时,您只是在说谎。