diff --git a/Examples/Advanced/JGScrollableTableViewCell Advanced/JGExampleScrollableTableViewCell.h b/Examples/Advanced/JGScrollableTableViewCell Advanced/JGExampleScrollableTableViewCell.h index 3a7872c..2f1ae5a 100644 --- a/Examples/Advanced/JGScrollableTableViewCell Advanced/JGExampleScrollableTableViewCell.h +++ b/Examples/Advanced/JGScrollableTableViewCell Advanced/JGExampleScrollableTableViewCell.h @@ -8,8 +8,16 @@ #import "JGScrollableTableViewCell.h" +@protocol IPQJGScrollableTableViewCellDelegate +@optional +-(void)swipTableViewCellLeftButton:(JGScrollableTableViewCell*)swipeTableViewCell; +-(void)swipTableViewCellRightButton:(JGScrollableTableViewCell*)swipeTableViewCell; +@end + @interface JGExampleScrollableTableViewCell : JGScrollableTableViewCell - (void)setGrabberVisible:(BOOL)visible; +@property (nonatomic, assign) id ipqDelegate; + @end diff --git a/Examples/Advanced/JGScrollableTableViewCell Advanced/JGExampleScrollableTableViewCell.m b/Examples/Advanced/JGScrollableTableViewCell Advanced/JGExampleScrollableTableViewCell.m index 77b35cb..6de15b6 100644 --- a/Examples/Advanced/JGScrollableTableViewCell Advanced/JGExampleScrollableTableViewCell.m +++ b/Examples/Advanced/JGScrollableTableViewCell Advanced/JGExampleScrollableTableViewCell.m @@ -35,11 +35,15 @@ - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reus [moreView setTitle:@"Sample" forState:UIControlStateNormal]; + [actionView addTarget:self action:@selector(actionRightButton) forControlEvents:UIControlEventTouchUpInside];//add left action button for pressed + moreView.frame = CGRectMake(0.0f, 0.0f, 80.0f, 0.0f); //width is the only frame parameter that needs to be set on the option view moreView.autoresizingMask = UIViewAutoresizingFlexibleHeight; UIView *optionView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 160.0f, 0.0f)]; + + [moreView addTarget:self action:@selector(actionLeftButton) forControlEvents:UIControlEventTouchUpInside];//add right button for pressed [optionView addSubview:moreView]; [optionView addSubview:actionView]; @@ -67,7 +71,16 @@ - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reus } return self; } - +-(void)actionLeftButton{ + if ([self.ipqDelegate respondsToSelector:@selector(swipTableViewCellLeftButton:)]) { + [self.ipqDelegate swipTableViewCellLeftButton:self]; + } +} +-(void)actionRightButton{ + if ([self.ipqDelegate respondsToSelector:@selector(swipTableViewCellRightButton:)]) { + [self.ipqDelegate swipTableViewCellRightButton:self]; + } +} - (void)setGrabberVisible:(BOOL)visible { if (visible) { UIView *grabber = [[UIView alloc] initWithFrame:(CGRect){CGPointZero, {20.0f, 35.0f}}]; diff --git a/Examples/Advanced/JGScrollableTableViewCell Advanced/JGTestViewController.m b/Examples/Advanced/JGScrollableTableViewCell Advanced/JGTestViewController.m index fceb1e0..514a042 100644 --- a/Examples/Advanced/JGScrollableTableViewCell Advanced/JGTestViewController.m +++ b/Examples/Advanced/JGScrollableTableViewCell Advanced/JGTestViewController.m @@ -12,7 +12,7 @@ #import "JGScrollableTableViewCellAccessoryButton.h" -@interface JGTestViewController () { +@interface JGTestViewController () { NSIndexPath *_openedIndexPath; } @@ -32,6 +32,18 @@ - (instancetype)initWithStyle:(UITableViewStyle)style { return self; } +#pragma mark - IPQJGScrollableTableViewCellDelegate +-(void)swipTableViewCellLeftButton:(JGScrollableTableViewCell*)swipeTableViewCell{ + NSIndexPath *indexPath = [self.tableView indexPathForCell:swipeTableViewCell]; + NSLog(@"indexpath = %d",indexPath.row); + NSLog(@"Left Button is pressed"); +} +-(void)swipTableViewCellRightButton:(JGScrollableTableViewCell*)swipeTableViewCell{ + NSIndexPath *indexPath = [self.tableView indexPathForCell:swipeTableViewCell]; + NSLog(@"indexpath = %d",indexPath.row); + NSLog(@"Right Button is pressed"); +} + #pragma mark - JGScrollableTableViewCellDelegate - (void)cellDidBeginScrolling:(JGScrollableTableViewCell *)cell { @@ -76,6 +88,8 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N cell.scrollDelegate = self; + cell.ipqDelegate = self; + [cell setOptionViewVisible:[_openedIndexPath isEqual:indexPath]]; return cell; diff --git a/Examples/Basic/JGScrollableTableViewCell Basic/JGExampleScrollableTableViewCell.h b/Examples/Basic/JGScrollableTableViewCell Basic/JGExampleScrollableTableViewCell.h index 3a7872c..b7f575e 100644 --- a/Examples/Basic/JGScrollableTableViewCell Basic/JGExampleScrollableTableViewCell.h +++ b/Examples/Basic/JGScrollableTableViewCell Basic/JGExampleScrollableTableViewCell.h @@ -2,14 +2,24 @@ // JGExampleScrollableTableViewCell.h // JGScrollableTableViewCell Basic // +// Add Delegate by ipqhjjybj +// @date 2014.02.18 // Created by Jonas Gessner on 21.12.13. // Copyright (c) 2013 Jonas Gessner. All rights reserved. // #import "JGScrollableTableViewCell.h" +@protocol IPQJGScrollableTableViewCellDelegate +@optional +-(void)swipTableViewCellLeftButton:(JGScrollableTableViewCell*)swipeTableViewCell; +-(void)swipTableViewCellRightButton:(JGScrollableTableViewCell*)swipeTableViewCell; +@end + @interface JGExampleScrollableTableViewCell : JGScrollableTableViewCell - (void)setGrabberVisible:(BOOL)visible; +@property (nonatomic, assign) id ipqDelegate; + @end diff --git a/Examples/Basic/JGScrollableTableViewCell Basic/JGExampleScrollableTableViewCell.m b/Examples/Basic/JGScrollableTableViewCell Basic/JGExampleScrollableTableViewCell.m index 0dac95f..b68e21f 100644 --- a/Examples/Basic/JGScrollableTableViewCell Basic/JGExampleScrollableTableViewCell.m +++ b/Examples/Basic/JGScrollableTableViewCell Basic/JGExampleScrollableTableViewCell.m @@ -24,6 +24,8 @@ - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reus [actionView setTitle:@"Sample" forState:UIControlStateNormal]; + [actionView addTarget:self action:@selector(actionRightButton) forControlEvents:UIControlEventTouchUpInside];//add left action button for pressed + actionView.frame = CGRectMake(80.0f, 0.0f, 80.0f, 0.0f); //width is the only frame parameter that needs to be set on the option view actionView.autoresizingMask = UIViewAutoresizingFlexibleHeight; @@ -41,6 +43,8 @@ - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reus UIView *optionView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 160.0f, 0.0f)]; + [moreView addTarget:self action:@selector(actionLeftButton) forControlEvents:UIControlEventTouchUpInside];//add right button for pressed + [optionView addSubview:moreView]; [optionView addSubview:actionView]; @@ -48,7 +52,16 @@ - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reus } return self; } - +-(void)actionLeftButton{ + if ([self.ipqDelegate respondsToSelector:@selector(swipTableViewCellLeftButton:)]) { + [self.ipqDelegate swipTableViewCellLeftButton:self]; + } +} +-(void)actionRightButton{ + if ([self.ipqDelegate respondsToSelector:@selector(swipTableViewCellRightButton:)]) { + [self.ipqDelegate swipTableViewCellRightButton:self]; + } +} - (void)setGrabberVisible:(BOOL)visible { if (visible) { UIView *grabber = [[UIView alloc] initWithFrame:(CGRect){CGPointZero, {20.0f, 35.0f}}]; diff --git a/Examples/Basic/JGScrollableTableViewCell Basic/JGTestViewController.m b/Examples/Basic/JGScrollableTableViewCell Basic/JGTestViewController.m index 22432ac..f0282f5 100644 --- a/Examples/Basic/JGScrollableTableViewCell Basic/JGTestViewController.m +++ b/Examples/Basic/JGScrollableTableViewCell Basic/JGTestViewController.m @@ -12,7 +12,7 @@ #import "JGScrollableTableViewCellAccessoryButton.h" -@interface JGTestViewController () { +@interface JGTestViewController () { NSIndexPath *_openedIndexPath; BOOL _left; } @@ -44,6 +44,17 @@ - (void)switched:(UISwitch *)sender { [self.tableView reloadData]; } +#pragma mark - IPQJGScrollableTableViewCellDelegate +-(void)swipTableViewCellLeftButton:(JGScrollableTableViewCell*)swipeTableViewCell{ + NSIndexPath *indexPath = [self.tableView indexPathForCell:swipeTableViewCell]; + NSLog(@"indexpath = %d",indexPath.row); + NSLog(@"Left Button is pressed"); +} +-(void)swipTableViewCellRightButton:(JGScrollableTableViewCell*)swipeTableViewCell{ + NSIndexPath *indexPath = [self.tableView indexPathForCell:swipeTableViewCell]; + NSLog(@"indexpath = %d",indexPath.row); + NSLog(@"Right Button is pressed"); +} #pragma mark - JGScrollableTableViewCellDelegate @@ -90,6 +101,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N [cell setOptionView:cell.optionView side:(_left ? JGScrollableTableViewCellSideLeft : JGScrollableTableViewCellSideRight)]; cell.scrollDelegate = self; + cell.ipqDelegate = self; [cell setOptionViewVisible:[_openedIndexPath isEqual:indexPath]];