我在tableViewCell
左侧添加了徽章,如this example所示。
在成功完成之后,我转到了接下来的事情,即在单元格上添加向左/向右滑动并显示一些选项。我已经在GitHub上使用this library成功配置了它。
现在我向前移动时,我在右侧滑动添加了取消选项,用户点击它我想要那个徽章(UIView) )颜色变红。
我已将绿色添加为appointmentCell.appointmentStatusIndicatorBadge.layer.backgroundColor = [UIColor greenColor].CGColor;
因此,如果我在didTriggerLeftUtilityButtonWithIndex
中再次调用此行,则不会选择appointmentStatusIndicatorBadge
,因为它是在PatientAppointmentTableViewCell
中创建的@property (weak, nonatomic) IBOutlet UIView *appointmentStatusIndicatorBadge;
并且它正在PatientViewController
以下是我需要访问它的完整方法:
- (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerLeftUtilityButtonWithIndex:(NSInteger)index {
switch (index) {
case 0:
{
NSLog(@"Just Tapped Cancel");
//here I want to change the color to red
[cell hideUtilityButtonsAnimated:YES];
break;
}
default:
break;
}
}
我尝试通过创建类的新对象来做到这一点,但这是一个愚蠢的事情。现在问题是我无法跟踪indexPath
,因为我不再位于TableView
的委托方法中。那我怎么能这样做呢?
的修改
根据评论,这是我的tableViewCell的.h代码。我没有在.h文件中做任何事情。
#import <UIKit/UIKit.h>
#import "SWTableViewCell.h"
@interface PatientAppointmentTableViewCell : SWTableViewCell
@property (weak, nonatomic) IBOutlet UIView *appointmentStatusIndicatorBadge;
@end
答案 0 :(得分:1)
使用以下代码获取单元格的indexPath:
NSLog(@"Just Tapped Cancel");
NSIndexPath *indexPath = [tableView indexPathForCell:cell];
然而,cell
是来自以下方法的cell
:
- (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerLeftUtilityButtonWithIndex:(NSInteger)index
方法