您能否告訴我如何從View Controller B更改ViewController A中的UIImageView的圖像?從另一個視圖控制器Swift 2.0中更改視圖控制器圖像
我的Xcode版本是Xcode 7,使用Swift 2.0,
謝謝。
您能否告訴我如何從View Controller B更改ViewController A中的UIImageView的圖像?從另一個視圖控制器Swift 2.0中更改視圖控制器圖像
我的Xcode版本是Xcode 7,使用Swift 2.0,
謝謝。
正如thefredelement你可以在你的ViewController B之間使用NSNotification
對於像剛纔添加的代碼,當你解僱視圖的ViewController答:
@IBAction func goBack(sender: AnyObject) {
NSNotificationCenter.defaultCenter().postNotificationName("refresh", object: nil)
self.dismissViewControllerAnimated(true, completion: nil)
}
而在你的viewController一個在你的viewDidLoad
方法添加以下代碼:
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: "refreshList:", name:"refresh", object: nil)
}
而且在同一個類中添加這個輔助方法:
func refreshList(notification: NSNotification){
println("parent method is called")
//you can change your UIImageView's Image here.
}
現在,當你永遠從視圖控制器B按下按鈕,它會調用從視圖控制器A.此方法
注:我已經和Xcode 6.4測試這一點,我認爲它會正常工作和Xcode 7太多。
還有一個問題,我如何保存settin克的壁紙? –
我沒有找到你 –
因此,在我更改背景圖像後,如何使用NSUserDefaults保存將保留在該圖像上的數據? –
這裏是你如何與NSUserDefaults
的工作,你這樣寫:
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(image!, forKey: "image")
,讀這樣的:
let defaults = NSUserDefaults.standardUserDefaults()
let image = defaults.objectForKey("image") as! UIImage
,並將其設置爲imageView
你爲什麼添加這個答案?這個問題甚至沒有涉及到這個問題,你還沒有格式化代碼,而且你碰到了一個超過一年的問題,它已經有了一個可以接受的答案。不要這樣做。 – Fogmeister
這是一個不好的解決方案。爲了能夠在另一個視圖中獲取圖像,將圖像保存到磁盤不是最優的,要有禮貌。 – Moritz
你可以使用NSNotification –