私はチャットの会話で絵文字やステッカーを使用するというこの概念を証明するためにiOSプロジェクトに取り組んでいます。
私はGitHub repositoryでそれをチェックアウトし、あなたが望むならば貢献できます(レビューと改善を歓迎します)。
オブジェクトタイプを使用してUITextView
内に画像を添付するには、NSTextAttachment
を使用してください。
UITextViewで内、絵文字などの画像を表示するには:
// initialize object with the content of textView
NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithAttributedString:textview.attributedText];
// initialize selected image to be used as emoji
NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];
textAttachment.image = [UIImage imageNamed:@"MicheyMouse"];
textAttachment.image = [UIImage imageWithCGImage:textAttachment.image.CGImage scale:25 orientation:UIImageOrientationUp];
NSAttributedString *attrStringWithImage = [NSAttributedString attributedStringWithAttachment:textAttachment];
[attributeString appendAttributedString:attrStringWithImage];
// blank space after the image
NSAttributedString *blank = [[NSAttributedString alloc] initWithString:@" "];
[attributeString appendAttributedString:blank];
textview.attributedText = attributeString;
そして、あなたはステッカーとして画像を使用したい場合は、この行は、次のとおりです。
NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];
textAttachment.image = [UIImage imageNamed:sticker];
textAttachment.image = [UIImage imageWithCGImage:textAttachment.image.CGImage scale:12 orientation:UIImageOrientationUp]; // --> change de scale, to change image size (or create the image in size that you want)
NSAttributedString *attrStringWithImage = [NSAttributedString attributedStringWithAttachment:textAttachment];
cell.textLabel.attributedText = attrStringWithImage
をこの例では、画像をセルに直接ステッカーとして貼り付けました(このセルをチャットボールとして使用できます)。
つまり、最初のコード行では、基本的にUITextViewでイメージを表示し、2番目のイメージではイメージをチャット行に直接配置しました。
私は自分のステッカー/絵文字キーボードを使用しなければなりませんでした。また、絵文字キーボードとタイピングキーボードの切り替えにも対応しました。
これは、プロジェクト例えばGitHubのリポジトリです:https://github.com/cairano/CIStickerFacilities
ダウンロードquickbloxデモ。彼らはあなたがそれからアイデアを得るかもしれないステッカーを使用しています – Harry
@ハリー参考のためにたくさんありがとう、それは間違いなく理にかなっています。しかし、QuickBloxは自分のバックエンドとモバイルSDKを使ったチャット・サービスです。ステッカーを含むメッセージに任意の機能を埋め込むカスタムAPIを構築することは可能です。しかし、私が探しているのは、メッセージにステッカーを埋め込むための一般的な標準の一種です。ステレオをサポートする他のアプリにメッセージを共有することもできます(絵文字のように)。ステッカーの仕組みが誤解されているのでしょうか? –