From 7b17c1ef496802d7d5c94d8f011befed2366e15a Mon Sep 17 00:00:00 2001 From: RoyboyNL Date: Mon, 2 Feb 2015 10:40:51 +0100 Subject: [PATCH 1/2] Prevent crash on not implemented optional HPickerViewDelegate --- HorizontalPickerView/HorizontalPickerView.m | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/HorizontalPickerView/HorizontalPickerView.m b/HorizontalPickerView/HorizontalPickerView.m index d21feb6..5259ff6 100644 --- a/HorizontalPickerView/HorizontalPickerView.m +++ b/HorizontalPickerView/HorizontalPickerView.m @@ -236,12 +236,15 @@ - (NSInteger)numberOfRowsInCollectionViewController:(HPCollectionVC *)collection - (NSString *)collectionViewController:(HPCollectionVC *)collectionVC titleForRow:(NSInteger)row { - return [_delegate pickerView:self titleForRow:row]; + if ([_delegate respondsToSelector:@selector(pickerView:didSelectRow:)]) + return [_delegate pickerView:self titleForRow:row]; + return @""; } - (void)collectionViewController:(HPCollectionVC *)collectionVC didSelectRow:(NSInteger)row { - [_delegate pickerView:self didSelectRow:row]; + if ([_delegate respondsToSelector:@selector(pickerView:didSelectRow:)]) + [_delegate pickerView:self didSelectRow:row]; } #pragma mark - External affairs @@ -268,7 +271,8 @@ - (void)selectRow:(NSInteger)row animated:(BOOL)animated; NSIndexPath *indexPath = [NSIndexPath indexPathForItem:row inSection:0]; [self.collectionController changeSelectionInCollectionView:self.collectionController.collectionView indexPath:indexPath]; - [_delegate pickerView:self didSelectRow:row]; + if ([_delegate respondsToSelector:@selector(pickerView:didSelectRow:)]) + [_delegate pickerView:self didSelectRow:row]; } } @@ -375,7 +379,7 @@ - (id)initWithFrame:(CGRect)frame self.autoresizingMask = UIViewAutoresizingFlexibleWidth; self.backgroundColor = [UIColor clearColor]; - CAGradientLayer *gradientLayer = (CAGradientLayer *)self.layer; + CAGradientLayer *gradientLayer = (CAGradientLayer *)self.layer; gradientLayer.locations = @[@0.0f, @0.015f, @0.025f, @0.5f, @0.5f, @1.0f]; gradientLayer.colors = From ed52d37d551f2833946b95cc430c93a0ff1f0481 Mon Sep 17 00:00:00 2001 From: RoyboyNL Date: Mon, 2 Feb 2015 10:49:45 +0100 Subject: [PATCH 2/2] Fix incorrect respondsToSelector --- HorizontalPickerView/HorizontalPickerView.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HorizontalPickerView/HorizontalPickerView.m b/HorizontalPickerView/HorizontalPickerView.m index 5259ff6..86d099c 100644 --- a/HorizontalPickerView/HorizontalPickerView.m +++ b/HorizontalPickerView/HorizontalPickerView.m @@ -236,7 +236,7 @@ - (NSInteger)numberOfRowsInCollectionViewController:(HPCollectionVC *)collection - (NSString *)collectionViewController:(HPCollectionVC *)collectionVC titleForRow:(NSInteger)row { - if ([_delegate respondsToSelector:@selector(pickerView:didSelectRow:)]) + if ([_delegate respondsToSelector:@selector(pickerView:titleForRow:)]) return [_delegate pickerView:self titleForRow:row]; return @""; }