YJ3DTouch 1.3.0

YJ3DTouch 1.3.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2017年12月

Hyman00维护。



YJ3DTouch 1.3.0

  • 作者
  • Hyman00

YJ3DTouch可以轻松实现3D Touch。

如何使用

第一步

pod 'YJ3DTouch', '~> 1.0'
#import "UIViewController+YJ3DTouch.h"

为UITableView开启3D Touch

[self yj_active3DTouchTable:self.tableView forNavigation:self.navigationController];

1,该方法将为每个单元格自动注册3D Touch。

2,表格代理需要实现"tableView:didSelectRowAtIndexPath:"方法。

为UICollectionView开启3D Touch

[self yj_active3DTouchCollectionView:self.collectionView forNavigation:self.navigationController];

1,该方法将为每个单元格自动注册3D Touch。

2,集合视图代理需要实现"collectionView:didSelectItemAtIndexPath:"方法。

3,如果UICollectionViewDelegate的collectionView:shouldSelectItemAtIndexPath:方法返回NO,则不会为该单元格注册3D Touch。

为UIView开启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:"方法。

与操作一起开启3D Touch

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];