2017-08-26 42 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

相關問題