YJ3DTouch可以轻松实现3D Touch。
pod 'YJ3DTouch', '~> 1.0'
#import "UIViewController+YJ3DTouch.h"
[self yj_active3DTouchTable:self.tableView forNavigation:self.navigationController];
1,该方法将为每个单元格自动注册3D Touch。
2,表格代理需要实现"tableView:didSelectRowAtIndexPath:"方法。
[self yj_active3DTouchCollectionView:self.collectionView forNavigation:self.navigationController];
1,该方法将为每个单元格自动注册3D Touch。
2,集合视图代理需要实现"collectionView:didSelectItemAtIndexPath:"方法。
3,如果UICollectionViewDelegate的collectionView:shouldSelectItemAtIndexPath:方法返回NO,则不会为该单元格注册3D Touch。
[self yj_active3DTouchView:self.pushButton
clickTarget:self
clickAction:@selector(pushButtonTap)
argument:nil
forNavigation:self.navigationController];
1,如果视图是UITableView或UICollectionView,该方法将忽略目标、操作和参数。
2,您还可以使用此方法为UITableViewCell或UICollectionViewCell开启3D Touch。但是,您不能再使用"yj_active3DTouchTable:forNavigation:"或"yj_active3DTouchCollectionView:forNavigation:"方法。
YJ3DTouchConfig *actionItemConfig = [YJ3DTouchConfig new];
actionItemConfig.navigation = self.navigationController;
actionItemConfig.clickActionTarget = self;
actionItemConfig.clickAction = @selector(actionItemsBtnTap);
UIPreviewAction *action1 = [UIPreviewAction actionWithTitle:@"action1"
style:UIPreviewActionStyleDefault
handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
NSLog(@"action1");
}];
UIPreviewAction *action2 = [UIPreviewAction actionWithTitle:@"action2"
style:UIPreviewActionStyleDefault
handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {
NSLog(@"action2");
}];
actionItemConfig.previewActionItems = @[action1, action2];
[self yj_active3DTouchView:self.actionItemsBtn touchConfig:actionItemConfig];