4

UIPickerView只在 NDA 下为全新的 Ive 修改的 iOS 使用一些委托方法,例如

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

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

4

1 回答 1

4

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

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

因此,您正在正常实现委托方法。当Picker View询问您的代表时,它是否了解您只是撒谎的消息。

于 2013-09-09T14:50:49.250 回答