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