mirror of
https://github.com/TelegramMessenger/TelegramStickersImport.git
synced 2025-10-31 05:22:24 +00:00
91 lines
4.6 KiB
Swift
91 lines
4.6 KiB
Swift
import UIKit
|
|
import TelegramStickersImport
|
|
|
|
class ExampleController: UIViewController {
|
|
private var staticStickerSet: StickerSet?
|
|
private var animatedStickerSet: StickerSet?
|
|
private var videoStickerSet: StickerSet?
|
|
|
|
private var selectedStickerSet: StickerSet?
|
|
|
|
@IBOutlet weak var preview1: UIImageView!
|
|
@IBOutlet weak var preview2: UIImageView!
|
|
@IBOutlet weak var preview3: UIImageView!
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
|
|
let software = "TelegramStickersImport-Example"
|
|
|
|
let staticStickerSet = StickerSet(software: software, type: .image)
|
|
if let path = Bundle.main.path(forResource: "s-1", ofType: "png", inDirectory: nil), let data = try? Data(contentsOf: URL(fileURLWithPath: path)) {
|
|
try? staticStickerSet.addSticker(data: .image(data), emojis: ["👍", "😺"])
|
|
}
|
|
if let path = Bundle.main.path(forResource: "s-2", ofType: "png", inDirectory: nil), let data = try? Data(contentsOf: URL(fileURLWithPath: path)) {
|
|
try? staticStickerSet.addSticker(data: .image(data), emojis: ["☠️", "💀"])
|
|
}
|
|
if let path = Bundle.main.path(forResource: "s-3", ofType: "png", inDirectory: nil), let data = try? Data(contentsOf: URL(fileURLWithPath: path)) {
|
|
try? staticStickerSet.addSticker(data: .image(data), emojis: ["😎", "😼"])
|
|
}
|
|
self.staticStickerSet = staticStickerSet
|
|
|
|
let animatedStickerSet = StickerSet(software: software, type: .animation)
|
|
if let path = Bundle.main.path(forResource: "a-1", ofType: "tgs", inDirectory: nil), let data = try? Data(contentsOf: URL(fileURLWithPath: path)) {
|
|
try? animatedStickerSet.addSticker(data: .animation(data), emojis: ["😭"])
|
|
}
|
|
if let path = Bundle.main.path(forResource: "a-2", ofType: "tgs", inDirectory: nil), let data = try? Data(contentsOf: URL(fileURLWithPath: path)) {
|
|
try? animatedStickerSet.addSticker(data: .animation(data), emojis: ["🤷♂️"])
|
|
}
|
|
if let path = Bundle.main.path(forResource: "a-3", ofType: "tgs", inDirectory: nil), let data = try? Data(contentsOf: URL(fileURLWithPath: path)) {
|
|
try? animatedStickerSet.addSticker(data: .animation(data), emojis: ["🤔"])
|
|
}
|
|
self.animatedStickerSet = animatedStickerSet
|
|
|
|
let videoStickerSet = StickerSet(software: software, type: .video)
|
|
if let path = Bundle.main.path(forResource: "v-1", ofType: "webm", inDirectory: nil), let data = try? Data(contentsOf: URL(fileURLWithPath: path)) {
|
|
try? videoStickerSet.addSticker(data: .video(data), emojis: ["😩"])
|
|
}
|
|
if let path = Bundle.main.path(forResource: "v-2", ofType: "webm", inDirectory: nil), let data = try? Data(contentsOf: URL(fileURLWithPath: path)) {
|
|
try? videoStickerSet.addSticker(data: .video(data), emojis: ["😀"])
|
|
}
|
|
if let path = Bundle.main.path(forResource: "v-3", ofType: "webm", inDirectory: nil), let data = try? Data(contentsOf: URL(fileURLWithPath: path)) {
|
|
try? videoStickerSet.addSticker(data: .video(data), emojis: ["😥"])
|
|
}
|
|
self.videoStickerSet = videoStickerSet
|
|
|
|
self.selectedStickerSet = self.staticStickerSet
|
|
}
|
|
|
|
@IBAction func toggle(_ sender: Any) {
|
|
if let sender = sender as? UISegmentedControl {
|
|
switch sender.selectedSegmentIndex {
|
|
case 0:
|
|
self.selectedStickerSet = self.staticStickerSet
|
|
self.preview1.image = UIImage(named: "s-1.png")
|
|
self.preview2.image = UIImage(named: "s-2.png")
|
|
self.preview3.image = UIImage(named: "s-3.png")
|
|
case 1:
|
|
self.selectedStickerSet = self.animatedStickerSet
|
|
self.preview1.image = UIImage(named: "a-1-thumb.png")
|
|
self.preview2.image = UIImage(named: "a-2-thumb.png")
|
|
self.preview3.image = UIImage(named: "a-3-thumb.png")
|
|
case 2:
|
|
self.selectedStickerSet = self.videoStickerSet
|
|
self.preview1.image = UIImage(named: "v-1-thumb.png")
|
|
self.preview2.image = UIImage(named: "v-2-thumb.png")
|
|
self.preview3.image = UIImage(named: "v-3-thumb.png")
|
|
default:
|
|
break
|
|
}
|
|
}
|
|
}
|
|
|
|
@IBAction func send(_ sender: Any) {
|
|
try? self.selectedStickerSet?.import()
|
|
}
|
|
|
|
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
|
|
return UIInterfaceOrientationMask.portrait
|
|
}
|
|
}
|