Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将保存按钮设置为swift 5?_Ios_Swift - Fatal编程技术网

Ios 如何将保存按钮设置为swift 5?

Ios 如何将保存按钮设置为swift 5?,ios,swift,Ios,Swift,我正在为iOS创建一个壁纸应用程序。我已经创建了一个UIImageView,但是我一直在保存图像。我已解决权限问题,但无法让用户保存图像。我创建了保存按钮本身,但我不知道如何从用户的图像库中的图像数组中保存任何图像 以下是我目前的代码: class ViewController: UIViewController { @IBOutlet var imageview: [UIScrollView]! @IBOutlet weak var saveButton: UIButton

我正在为iOS创建一个壁纸应用程序。我已经创建了一个UIImageView,但是我一直在保存图像。我已解决权限问题,但无法让用户保存图像。我创建了保存按钮本身,但我不知道如何从用户的图像库中的图像数组中保存任何图像

以下是我目前的代码:

class ViewController: UIViewController {

    @IBOutlet var imageview: [UIScrollView]!

    @IBOutlet weak var saveButton: UIButton!

    @IBAction func saveButtonPressed(_ sender: UIButton) {
      // TODO: - How to save the image here 
    }

    let scrollView: UIScrollView = {
        let scroll = UIScrollView()
        scroll.isPagingEnabled = true
        scroll.showsVerticalScrollIndicator = false
        scroll.showsHorizontalScrollIndicator = false
        scroll.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
        return scroll
    }()

    var imageArray = [UIImage]()

    func setupImages(_ images: [UIImage]){
        for i in 0..<images.count {
            let imageView = UIImageView()
            imageView.image = images[i]
            let xPosition = UIScreen.main.bounds.width * CGFloat(i)
            imageView.frame = CGRect(x: xPosition, y: 0, width: scrollView.frame.width, height: scrollView.frame.height)
            imageView.contentMode = .scaleAspectFit

            scrollView.contentSize.width = scrollView.frame.width * CGFloat(i + 1)
            scrollView.addSubview(imageView)
            //scrollView.delegate = (self as! UIScrollViewDelegate)
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        view.addSubview(scrollView)

        imageArray = [#imageLiteral(resourceName: "1"),#imageLiteral(resourceName: "10"),#imageLiteral(resourceName: "9"),#imageLiteral(resourceName: "8"),#imageLiteral(resourceName: "3")]

        setupImages(imageArray)
    }
}
类ViewController:UIViewController{
@iBCROLLVIEW:[UIScrollView]!
@IBVAR弱保存按钮:UIButton!
@iAction func SaveButton已按下(\发送方:UIButton){
//TODO:-如何在此处保存图像
}
让滚动视图:UIScrollView={
让滚动=UIScrollView()
scroll.isPaginEnabled=true
scroll.showsVerticalScrollIndicator=false
scroll.showshorizontalscrolindicator=false
scroll.frame=CGRect(x:0,y:0,宽度:UIScreen.main.bounds.width,高度:UIScreen.main.bounds.height)
返回卷轴
}()
var imageArray=[UIImage]()
func setupImages(images:[UIImage]){
对于0..中的i,您需要添加一个函数:

func saveImage(image: UIImage) -> Bool {
    guard let data = UIImageJPEGRepresentation(image, 1) ?? UIImagePNGRepresentation(image) else {
        return false
    }

    guard let directory = try? FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false) as NSURL else {
        return false
    }

    do {
        try data.write(to: directory.appendingPathComponent("fileName.png")!)
        return true
    } catch {   
        print(error.localizedDescription)
        return false
    }
}
然后在
保存按钮中按下

let success = saveImage(image: imageArray[0])
print("Did \(success ? "" : "not ")store image successfully")

您需要添加一些逻辑来实际选择图像。

对不起,我是新来的!!是的,关于使用UIImageWriteToSavedPhotosAlbum,但我只想有人告诉我,在滚动后点击保存当前图像时,如何创建保存按钮?要使该按钮可点击并提供保存操作,应该编写哪些代码我找不到类似的文章有帮助……我已经复制了我所有的代码,这样你就可以看到我的所有代码。你是否愿意使用Firebase保存此图像?如果是,我有足够的代码。如果你有一个新问题,请不要编辑你当前的问题和代码-提出一个新问题。如果没有出现
ui按钮,则与此无关第一个问题是保存图像。很可能你的IBOutlet实际上没有连接到任何东西。