MoView 1.2.0

MoView 1.2.0

测试已测试
语言语言 SwiftSwift
许可 MIT
发布上次发布2017年8月
SwiftSwift 版本3.1
SPM支持 SPM

hyouuu 维护。



MoView 1.2.0

  • hyouuu

MoView 由 hyouuu 制作,为 Pendo 量身定制,基于 SPUserResizableView

这是一个可移动、可调整大小的视图,特别注重与 UIImage 一起使用,因此提供了保存、复制和删除菜单选项。

它已在 App Store 中由 Pendo 使用,拥有大量用户,因此被认为是生产就绪的。欢迎通过拉取请求来使其变得更好!:D

alt tag

使用方法

在您的视图控制器中

import MoView

class YourViewController: UIViewController, MoViewDelegate {
  // Get a hold of MoViews
  var mediaViews = [MoView]()
  
  // Example setup
  let imageFrame = CGRect(x: posX, y: posY, width: width, height: height)
  let mediaView = MoView(frame: imageFrame)
  mediaView.copyItemTitle = local("copy")
  mediaView.saveItemTitle = local("save")
  mediaView.deleteItemTitle = local("delete")
  let imageView = UIImageView(image:image)
  imageView.alpha = 0.9
  mediaView.contentView = imageView
  mediaView.delegate = self
  textView.addSubview(mediaView)
  mediaViews.append(mediaView)
 
  // Implement MoViewDelegate - provided some example usages below
  // MARK: MoViewDelegate 
  func moViewTapped(moView: MoView) {
    log("moViewTapped")
  }

  func moViewDidBeginEditing(moView: MoView) {
    log("moViewDidBeginEditing")
    textView.bringSubview(toFront: moView)
  }

  func moViewDidEndEditing(moView: MoView, edited: Bool) {
    log("moViewDidEndEditing")
  }

  func moViewCopyTapped(moView: MoView) {
    if let imageView = moView.contentView as? UIImageView {
      if let image = imageView.image {
        let pasteboard = UIPasteboard.generalPasteboard()
        if let data = UIImagePNGRepresentation(image) {
          pasteboard.setData(data, forPasteboardType: "public.png")
          return
        }
      }
    }
    assertionFailure("copyItem failed")
  }

  func moViewSaveTapped(moView: MoView) {
    if let imageView = moView.contentView as? UIImageView {
      if let image = imageView.image {
        Photor.one.saveImage(image)
      }
    }
  }

  func moViewDeleteTapped(moView: MoView) {
    log("moViewDeleteTapped")
    if let media = moView.media {
      rlmDelete(media as! MediaR, ownerNote: note)
    }
    mediaViews.removeObject(moView)
    moView.removeFromSuperview()
  }
  

安装

MoView 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile:

pod "MoView"

作者

hyouuu,[email protected]

许可

MoView 适用于 MIT 许可。有关更多信息,请参阅 LICENSE 文件。