IGRPhotoTweaks 1.0.8

IGRPhotoTweaks 1.0.8

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2019年1月
SPM支持SPM

Vitalii Parovishnyk维护。



  • Vitalii Parovishnyk

IGRPhotoTweaks

IGRPhotoTweaks

IGRPhotoTweaks是一个允许扩展界面以裁剪照片的swift 4.2库,基于PhotoTweaks。它可以允许用户拖动、旋转、缩放图像并进行裁剪。您会发现它模仿了iOS 9上Photos.app的交互方式。:]

Build Status Pod Version Platform License

使用方法

IGRPhotoTweaksViewController是YourPhotoTweaksViewController的基础界面。IGRPhotoTweaksViewController提供了所有裁剪照片的操作,包括平移、旋转和缩放。

要使用它,

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "showCrop" {

        let yourCropViewController = segue.destination as! YourPhotoTweaksViewController
        yourCropViewController.image = sender as! UIImage
        yourCropViewController.delegate = self;
    }
}

self.cropAction()是调用编辑完成操作的函数。

self.dismissAction()是调用取消编辑操作的函数。

self.changedAngel(value: radians)是设置旋转角度的函数。

self.setCropAspectRect(aspect: "9:16")是设置裁剪视图的纵横比的函数。

self.resetAspectRect()是重置所有先前纵横比的函数。

self.resetView()是重置所有先前操作的函数。

获取裁剪图像

extension ViewController: IGRPhotoTweakViewControllerDelegate {
    func photoTweaksController(_ controller: IGRPhotoTweakViewController, didFinishWithCroppedImage croppedImage: UIImage) {
        self.imageView?.image = croppedImage
        _ = controller.navigationController?.popViewController(animated: true)
    }

    func photoTweaksControllerDidCancel(_ controller: IGRPhotoTweakViewController) {
        _ = controller.navigationController?.popViewController(animated: true)
    }
}

设置IGRPhotoTweaks控制器

override func viewDidLoad() {
    super.viewDidLoad()

    self.isAutoSaveToLibray = true
}

设置/控制角度

fileprivate func setupSlider() {
    self.angleSlider?.minimumValue = -Float(IGRRadianAngle.toRadians(45))
    self.angleSlider?.maximumValue = Float(IGRRadianAngle.toRadians(45))
    self.angleSlider?.value = 0.0
}

@IBAction func onChandeAngleSliderValue(_ sender: UISlider) {
    let radians: CGFloat = CGFloat(sender.value)
    self.changeAngle(radians: radians)
}
    

自定义视图

override open func setupThemes() {
    IGRCropLine.appearance().backgroundColor = UIColor.green
    IGRCropGridLine.appearance().backgroundColor = UIColor.yellow
    IGRCropCornerView.appearance().backgroundColor = UIColor.purple
    IGRCropCornerLine.appearance().backgroundColor = UIColor.orange
    IGRCropMaskView.appearance().backgroundColor = UIColor.blue
    IGRPhotoContentView.appearance().backgroundColor = UIColor.gray
    IGRPhotoTweakView.appearance().backgroundColor = UIColor.brown
}

override open func customBorderColor() -> UIColor {
    return UIColor.red
}

override open func customBorderWidth() -> CGFloat {
    return 2.0
}

override open func customCornerBorderWidth() -> CGFloat {
    return 4.0
}

override open func customCropLinesCount() -> Int {
    return 3
}

override open func customGridLinesCount() -> Int {
    return 4
}

override open func customCornerBorderLength() -> CGFloat {
    return 30.0
}

override open func customIsHighlightMask() -> Bool {
    return true
}

override open func customHighlightMaskAlphaValue() -> CGFloat {
    return 0.3
}

示例

IGRPhotoTweaks.xcodeproj --> IGRPhotoTweaks 目标 /示例

安装

IGRPhotoTweaks 可在 Cocoapods 中找到。在你的 Podfile 中添加以下内容

pod 'IGRPhotoTweaks', '~> 1.0.0'

或者,你可以手动将 IGRPhotoTweaks 文件夹拖入你的 Xcode 项目中。

问题

不适用于 Objective-C

小技巧

如果与现有的 UIImagePickerController 一起使用,请确保设置 allowsEditing = NO,否则你可能会强制用户在显示 IGRPhotoTweaksViewController 之前使用本地编辑工具裁剪。