2017-08-26 62 views
-1
class ViewController1: UIViewController { 

    @IBOutlet weak var image1: UIImageView! 

目前这个图像设置太“myfirstimage”,在属性检查器中如何更新在视图控制器之间切换后不会返回其默认状态的图像?

@IBAction func changeimage(_ sender: Any) { 
     image1.image = UIImage(named: "mysecondimage") 
    } 

当我点击changeimage按钮,图像的变化。然而,只要我去了一个不同的视图控制器并返回,图像就回到了“myfirstimage”。尽管进出其他视图,我如何更改“mysecondimage”永久性?

+0

你在哪里将image1设置为第一个图像? – 3stud1ant3

+0

你如何“回来”?这是问题,所以你需要详细解释。 – matt

+0

在Xcode的属性检查器中,在单击故事板中的UIimage后,其中显示'图像视图'+图像 –

回答

-1
import UIKit 

struct Globalvariable { 
static var setimage = 0 
} 

class ViewController1: UIViewController { 

@IBOutlet weak var image1: UIImageView! 
inspector 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     if Globalvariable.setimage == 0 { 
     image1.image = UIImage(named: "myfirstimage") 
     } 

     else { 
     image1.image = UIImage(named: "mysecondimage") 
      } 

    @IBAction func changeimage(_ sender: Any) { 

    image1.image = UIImage(named: "mysecondimage") 
    Globalvariable.setimage = 1 
    } 

我能够通过在类之外的结构中创建一个变量并将图像添加到连接到GlobalVariable的viewDidLoad中来解决这个问题。不知道这是否是最好的方式,但它工作。

+0

由于你没有正确使用unwind segue,你正在创建一个更深的视图控制器列表和不必要的使用内存 – Paulw11

相关问题