【问题标题】:UIsavebutton doesnt show after built the app构建应用程序后不显示 UI 保存按钮
【发布时间】:2020-02-14 10:44:57
【问题描述】:

这是一个壁纸应用,所以屏幕上有保存按钮,UIButton 应该保存当前显示给用户的图像。所以我已经编写了这段代码并识别了 UIButton 然后当我开始构建应用程序时,按钮没有显示出来......

这是我的代码

class ViewController: UIViewController {

    // app parameters

    @IBOutlet weak var imageView: UIImageView!

    @IBOutlet weak var saveButton: UIButton!

    //when tapped
    @IBAction func saveButtonTapped(_ sender: UIButton) {
        let success = saveImage(image: imageArray[0])
        print("Did \(success ? "" : "not ")store image successfully")
    }


    //scroll view

    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
       }()



    //setup images

    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)

        }
    }

    //image array

    var imageArray = [UIImage]()



    //save image
    func saveImage(image: UIImage) -> Bool {
        guard let data = image.jpegData(compressionQuality: 1) ?? image.pngData() 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
        }
    }


   //did load

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        //imageArray
        view.addSubview(scrollView)
        imageArray = [#imageLiteral(resourceName: "6"),#imageLiteral(resourceName: "9"),#imageLiteral(resourceName: "3")]
        setupImages(imageArray)
    }
}

【问题讨论】:

  • 试试 savebutton.bringtofront,你能展示你的故事板拱门吗
  • 确保你的按钮在滚动视图的前面。

标签: ios swift uibutton swift5


【解决方案1】:

试试这个!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    //imageArray
    view.addSubview(scrollView)
    imageArray = [#imageLiteral(resourceName: "6"),#imageLiteral(resourceName: "9"),#imageLiteral(resourceName: "3")]
    setupImages(imageArray)
    scrollView.addSubview(saveButton)
}

【讨论】:

  • 一条消息出来,线程 1:致命错误:在隐式展开可选值时意外发现 nil
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-18
  • 1970-01-01
  • 2018-10-26
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 2015-12-27
相关资源
最近更新 更多