Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.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 当我按下iPhone home按钮、sleep/power按钮或终止我的应用程序,然后再次运行它时,TestButton操作不';t打印_Ios_Swift_Xcode - Fatal编程技术网

Ios 当我按下iPhone home按钮、sleep/power按钮或终止我的应用程序,然后再次运行它时,TestButton操作不';t打印

Ios 当我按下iPhone home按钮、sleep/power按钮或终止我的应用程序,然后再次运行它时,TestButton操作不';t打印,ios,swift,xcode,Ios,Swift,Xcode,我编写了一个简单的代码来澄清我的问题。当我在iPhone上运行我的应用程序时,它可以正常工作,但当我在模拟器或我真正的iPhone上按home(主页)按钮并再次按下应用程序图标时,应用程序运行,但应用程序的按钮“TestButtonAction”不工作。当我按下电源/睡眠按钮并再次打开它时,也会出现同样的问题。 同样的问题,当我双击“主页”按钮并通过滑动窗口终止我的应用程序,然后再次运行时,按钮不工作或在控制台中打印“正确的图像” 这是我的密码,谢谢 // // ViewController.

我编写了一个简单的代码来澄清我的问题。当我在iPhone上运行我的应用程序时,它可以正常工作,但当我在模拟器或我真正的iPhone上按home(主页)按钮并再次按下应用程序图标时,应用程序运行,但应用程序的按钮“TestButtonAction”不工作。当我按下电源/睡眠按钮并再次打开它时,也会出现同样的问题。 同样的问题,当我双击“主页”按钮并通过滑动窗口终止我的应用程序,然后再次运行时,按钮不工作或在控制台中打印“正确的图像” 这是我的密码,谢谢

//
//  ViewController.swift
//  TestingHomeButton
//
//  Created by Samuel Oncy on 4/25/18.
//  Copyright © 2018 Samuel Oncy. All rights reserved.
//

import UIKit

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

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func TestButtonAction(_ sender: UIButton) {
        if(TestButtonOutlet.imageView?.image == UIImage(named:"NatureView")){
                    print("Right Image")
        }
    }
}

要检查按钮的当前图像,请使用
currentImage
属性,如下所示:-

@IBAction func TestButtonAction(_ sender: UIButton) {
    if sender.currentImage.isEqual(UIImage(named: "NatureView")) {
        print("Right Image")
    }
}

要检查按钮的当前图像,请使用
currentImage
属性,如下所示:-

@IBAction func TestButtonAction(_ sender: UIButton) {
    if sender.currentImage.isEqual(UIImage(named: "NatureView")) {
        print("Right Image")
    }
}

如果要在If中进行比较,只需将UIImage设为全局变量

其他的方法也可以解决同样的问题-标签是正确的

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var TestButtonOutlet: UIButton!
    var image = UIImage (named: "NatureView")

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func TestButtonAction(_ sender: UIButton) {

       // print(TestButtonOutlet.imageView?.image == UIImage(named:"NatureView"))
        if (TestButtonOutlet.currentImage == image) {
            print(TestButtonOutlet.currentImage)
        }
    }
}

如果要在If中进行比较,只需将UIImage设为全局变量

其他的方法也可以解决同样的问题-标签是正确的

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var TestButtonOutlet: UIButton!
    var image = UIImage (named: "NatureView")

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func TestButtonAction(_ sender: UIButton) {

       // print(TestButtonOutlet.imageView?.image == UIImage(named:"NatureView"))
        if (TestButtonOutlet.currentImage == image) {
            print(TestButtonOutlet.currentImage)
        }
    }
}


你是说打印(“右图像”)不是在控制台中打印吗?是的,这是我的代码的一个简单版本,但它也不起作用。看起来,你的图像有问题,或者其他层出现在前面。如果代码非常简单,你可以共享/压缩和上传,我会看到,问题和回复。我尝试了其他一些照片,但遇到了同样的问题,代码非常简单,就像我写的一样如果(TestButtonOutlet.imageView?.image==UIImage(名为:“NatureView”){这一个,删除它,因为您需要单击,为什么在这两者之间存在此条件您指的是打印(“右图像”)不是在控制台中打印吗?是的,这是我的代码的一个简单版本,但它也不起作用。看起来,你的图像有问题,或者其他层出现在前面。如果代码非常简单,你可以共享/压缩和上传,我会看到,问题和回复。我尝试了其他一些照片,但遇到了同样的问题,代码非常简单,就像我写的一样如果(TestButtonOutlet.imageView?.image==UIImage(名为:“NatureView”)),则在上面删除照片条件{这一个,删除它,因为你需要单击,为什么在这两者之间出现这种情况感谢你的快速回复,我尝试了这个代码现在它正在运行,但当我按下home按钮并再次运行我的应用程序时,按钮不起作用,不打印任何内容返回应用程序时,打印你按钮的当前图像并检查它在控制台中打印的内容。当我删除条件并运行我的应用程序时,不打印任何内容。它打印为true,当我按下“主页”按钮并再次运行我的应用程序时,它打印为falseOptional(,{120,160})当前图像打印上一行,但在使用“主页”按钮后,不打印任何内容为您的快速回复,我尝试了此代码现在它正在运行,但当我按下“主页”按钮并再次运行我的应用程序时,按钮不起作用,不打印任何内容返回应用程序后,打印按钮的当前图像并检查它正在打印的内容在console.print中,只有当我删除条件并运行我的应用程序时才打印。它打印为true,当我按下home按钮并再次运行我的应用程序时,它打印为falseOptional(,{120,160})当前图像打印上一行,但在使用“主页”按钮后,不要打印任何内容很好。干得好,兄弟:)很抱歉,出现了相关问题。当我双击“主页”按钮并通过滑动它来终止应用程序窗口,然后再次运行应用程序时,会出现相同的问题!!!我会在几个小时内查看它,然后返回给你。非常感谢兄弟,请让我知道我是否应该为“重新运行终止的应用程序”问题创建一个新线程"?我引导你告诉我,你的要求是什么,这样我就可以告诉你比匹配图像更好的识别方法。干得好。干得好。兄弟:)很抱歉有相关问题。当我双击“主页”按钮并通过滑动它来终止应用程序窗口,然后再次运行应用程序时,同样的问题会出现!!!我将在两个小时内查看它,而不是回到你。非常感谢os bro.,请让我知道我是否应该为“重新运行终止的应用程序”问题创建一个新线程?我会引导你告诉我,你的要求是什么,这样我就可以告诉你比匹配图像更好的识别方法。