FAStickers 0.1.0

FAStickers 0.1.0

Faris Albalawi 维护。



  • Faris Albalawi

FAStickers

CI Status Version License Platform

ColorfulTornJunco-small

特性

  • 支持 stickers
  • 支持 Emojis
  • 支持 Gifs
  • Swift 5

要求

  • iOS 11.0 及更高版本
  • swift 5

安装

FAStickers 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中

pod 'FAStickers'

示例

要运行示例项目,请先克隆仓库,然后从 Example 目录运行 pod install

import FAStickers
import UIKit
class ViewController: UIViewController{

var StickerVC: StickerViewController!
public var stickers : [String] = []
public var gifs : [String] = []
}


override func viewDidLoad() {
super.viewDidLoad()

// append stickers
for i in 100...110 {
stickers.append(i.description)
}


let gifImage = ["gif1","gif2","gif3","gif4", "gif5","gif6","gif7","gif8", "gif9"]
// append gitf
for i in gifImage {
gifs.append(i)
}

StickerVC = StickerViewController(nibName: nil, bundle: Bundle(for: StickerViewController.self))


}

@IBAction func AddSticker(_ sender: Any) {
showStickerView()
}



}


extension ViewController: StickerEmojiDelegate {


func GitTapped(GifName: String) {
print(GifName)
let Gif = UIImageView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
Gif.loadGif(name: GifName)
Gif.contentMode = .scaleAspectFit
Gif.center = view.center
self.view.addSubview(Gif)

self.removeStickerView()
}


func EmojiTapped(EmojiName: String) {
print(EmojiName)
var emojiView = UIView()
let emojiLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 70, height: 70))
emojiLabel.text = EmojiName
emojiLabel.font = UIFont.systemFont(ofSize: 50)
emojiView = emojiLabel
emojiView.center = view.center
self.view.addSubview(emojiView)
self.removeStickerView()
}

func StickerTapped(StickerName: String) {
print(StickerName)
let Sticker = UIImageView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
Sticker.image = UIImage(named: StickerName)
Sticker.contentMode = .scaleAspectFit
Sticker.center = view.center
self.view.addSubview(Sticker)

self.removeStickerView()
}



func showStickerView() {

StickerVC.stickerDelegate = self


// append gifs
for gifImage in self.gifs {
StickerVC.gits.append(gifImage)
}

// append stickers
for stickersImage in self.stickers {
StickerVC.stickers.append(stickersImage)
}

self.addChild(StickerVC)
self.view.addSubview(StickerVC.view)
StickerVC.didMove(toParent: self)
let height = view.frame.height
let width  = view.frame.width
StickerVC.view.frame = CGRect(x: 0, y: self.view.frame.maxY , width: width, height: height)
}

func removeStickerView() {
UIView.animate(withDuration: 0.3,
delay: 0,
options: UIView.AnimationOptions.curveEaseIn,
animations: { () -> Void in
var frame = self.StickerVC.view.frame
frame.origin.y = UIScreen.main.bounds.maxY
self.StickerVC.view.frame = frame

}, completion: { (finished) -> Void in
self.StickerVC.view.removeFromSuperview()
self.StickerVC.removeFromParent()
})
}

}

委托

StickerEmojiDelegate
func EmojiTapped(EmojiName: String)
func StickerTapped(StickerName: String)
func GitTapped(GifName: String)

作者

Faris Albalawi, [邮箱地址隐藏]

许可协议

FAStickers 在 MIT 许可协议下可用。有关更多信息,请参阅 LICENSE 文件。