ios - 选择“图像”或“拍照”并转到新的 ViewController

标签 ios swift uicollectionview

我正在使用 Fusuma https://github.com/ytakzk/Fusuma在 Fusuma 中,是否可以对代码进行较小的修改,因此在选择照片或拍摄照片后,它会将我带到新的 View Controller ,例如 uploadViewcontroller,其中显示所选图像(稍后最好在拍照后制作另一个 View 以确认它)或重考)?

最佳答案

是的,您可以实现FusumaDelegate的方法fusumaImageSelected(或fusumaMultipleImageSelected),在那里编写任何导航代码(如segues、navigationController的pushViewController方法)或 viewControllers 的礼物)并通过它传递您的图像。

import UIKit
import Fusuma

class ViewController: UIViewController {
    @IBOutlet weak var photoLibraryButton: UIButton!

    let fusuma = FusumaViewController()

    override func viewDidLoad() {
        super.viewDidLoad()

        fusuma.delegate = self
        fusuma.allowMultipleSelection = true

    }

    @IBAction
    func showPhotoLibrary() {
        self.present(fusuma, animated: true, completion: nil)
    }

}

extension ViewController: FusumaDelegate {
    func fusumaImageSelected(_ image: UIImage, source: FusumaMode) {

        let vc = UploadViewController()
        vc.image = image

        self.navigationController?.pushViewController(vc, animated: true)

    }

    func fusumaMultipleImageSelected(_ images: [UIImage], source: FusumaMode) {
        let vc = UploadViewController()
        guard let firstImage = images.first else { return }
        vc.image = firstImage

        self.navigationController?.pushViewController(vc, animated: true)
    }

    func fusumaVideoCompleted(withFileURL fileURL: URL) {

    }

    func fusumaCameraRollUnauthorized() {

    }

}

然后在 UploadViewController 中你可以做任何你想做的事情:

import UIKit

class UploadViewController: ViewController {

    public var image = UIImage()
    var imageView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()

        imageView = UIImageView(frame: view.frame)
        imageView.image = self.image

        view.addSubview(imageView)

    }
}

关于ios - 选择“图像”或“拍照”并转到新的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50247683/

相关文章:

ios - 核心数据获取请求问题

swift - 在闭包外部访问 Firebase 变量

objective-c - UICollectionView 由于突出显示问题随机崩溃

swift - 如果我想创建一个 Swift 3/4 中未使用的对象和内存怎么办?

ios - iOS 设备的欧拉角到旋转矩阵手动转换

ios - 符合 Equatable for Diffing 的协议(protocol)

ios - “文本”不可用 : APIs deprecated as of iOS7. .. 如何从 alert.textFields[0] 获取文本值?

swift - 如何创建一个 for in 循环来实际循环所有元素

ios - 更改流布局的 itemSize 后单元格大小未更新

ios - "The app references non-public selectors in Payload"