一系列强大的开源 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 Kit 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 显示贴纸,或者将组件集成到视图层次结构中。对于寻求后者的应用程序,我们提供了三种不同尺寸的贴纸选择器组件
显示全屏贴纸选择器的最简单方法是创建一个新的 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 贴纸创建器允许开发人员轻松集成我们的强大工具,使用户能够创建和分享自己的贴纸。所有上传、标记和显示都为您完成,只需集成创建器,然后让您的用户发挥创造力即可。
默认情况下,Sticker Creator 不会打包到主 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
}