ImojiSDKUI_MagicNarwhal 2.2.6

ImojiSDKUI_MagicNarwhal 2.2.6

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2017年10月

Evgeny BessilkoTim SandersEric Schweitzer 维护。



  • 作者
  • Alex Hoang,Nima Khoshini 和 Jeff Wang

Imoji SDK UI

是一组强大的开源 UI 小部件集合,利用了 Imoji SDK

有关完整文档详细信息,请访问 developer.imoji.io 以获取更多信息。

查看示例

我们的示例应用程序演示了将 Imoji 集成到您的应用程序中的全部功能。

获取源代码

git clone https://github.com/imojiengineering/imoji-ios-sdk-ui.git

构建 ImojiKit 项目

cd imoji-ios/sdk-ui/Examples/ImojiKit
pod install
open imoji-kit.xcworkspace

启动应用程序以了解我们开源 UI 套件 ImojiSDKUI 提供的各种组件。

要查看 Swift 2.0 集成的示例,请查看 Artmoji 示例。

cd imoji-ios-sdk-ui/Examples/Artmoji
pod install
open artmoji.xcworkspace

集成

将 ImojiSDKUI 添加到您的 Podfile 中

pod 'ImojiSDKUI'

构建您的项目

pod install

初始化 ImojiSDK 凭据。您可以将此添加到

application:didFinishLaunchingWithOptions: method of AppDelegate
[[ImojiSDK sharedInstance] setClientId:[[NSUUID alloc] initWithUUIDString:@"your-client-id"]
                              apiToken:@"your-client-secret"];

显示 Imoji 集合视图控制器

IMImojiSession *session = [IMImojiSession imojiSession];
IMCollectionViewController *viewController = [IMCollectionViewController collectionViewControllerWithSession:session];
    [self presentViewController:viewController animated:YES completion:^{
        [viewController.collectionView loadImojiCategoriesWithOptions:
                [IMCategoryFetchOptions optionsWithClassification:IMImojiSessionCategoryClassificationTrending]
        ];
    }];

自定义

根据您的应用程序,您可能决定显示表情贴纸或将其组件集成到视图层次结构中。
对于那些寻求后者的应用程序,我们为我们的表情贴纸选择器组件提供了三种不同的形态

显示全屏表情贴纸选择器的最简单方法是通过创建一个新的 IMCollectionViewController 实例

IMImojiSession *session = [IMImojiSession imojiSession];
IMCollectionViewController *viewController = [IMCollectionViewController collectionViewControllerWithSession:session];
viewController.collectionViewControllerDelegate = self;
 
[self presentViewController:viewController animated:YES completion:^{
  [viewController.collectionView loadImojiCategoriesWithOptions:
      [IMCategoryFetchOptions optionsWithClassification:IMImojiSessionCategoryClassificationTrending]
  ];
}];

从 IMCollectionViewControllerDelegate 覆盖 userDidSelectImoji:fromCollectionView: 以与所选表情贴纸交互

- (void)userDidSelectImoji:(IMImojiObject *)imoji fromCollectionView:(IMCollectionView *)collectionView {
  // add your logic here
}

带边框的贴纸或无边框?小尺寸或大尺寸图像?

简单调整网格显示选项。使用 renderingOptions 属性进行配置。您可以根据目标设备的屏幕大小设置图像的默认大小(缩略图、320、512 或全尺寸)。

collectionView.renderingOptions = [IMImojiObjectRenderingOptions optionsWithRenderSize:IMImojiObjectRenderSizeThumbnail
                                             borderStyle:IMImojiObjectBorderStyleSticker
                                             imageFormat:IMImojiObjectImageFormatPNG];

贴纸创建器

Imoji 贴纸创建器允许开发人员轻松集成我们强大的工具,使用户能够创建并分享他们自己的贴纸。所有上传、标记和显示都由您完成,只需集成创建器,让您的用户发挥创意。

默认情况下,贴纸创建器没有捆绑在主要的 Podspec 中。您需要通过更新 Podfile 添加它

pod 'ImojiSDKUI/Editor'

然后,如此启动 Sticker Creator 视图控制器

IMImojiSession* session = [IMImojiSession imojiSession];
IMCreateImojiViewController* createViewController =
      [IMCreateImojiViewController controllerWithSourceImage:image session:session];
[parentViewController presentViewController:createViewController animated:YES completion:nil];

设置 IMCreateImojiViewControllerDelegate 属性以确保您的类在贴纸创建完成后收到通知

createViewController.createDelegate = self;

覆盖 imojiUploadDidComplete

- (void)imojiUploadDidComplete:(IMImojiObject *)localImoji
               persistentImoji:(IMImojiObject *)persistentImoji
                     withError:(NSError *)error
            fromViewController:(IMCreateImojiViewController *)viewController {
    [self dismissViewControllerAnimated:YES completion:nil];
 
    // display the newly created Imoji
}