我想要做的是該應用程序以一個自定義按鈕開始,該按鈕具有簡單的圖像作爲背景。如果用戶點擊「輸入」按鈕,自定義按鈕的圖像將永久更改,如果用戶重新啓動應用程序,則第二個圖像將仍然顯示,而不是第一個。 如何使用Swift 3中的用戶默認值保存自定義按鈕的圖像?
0
A
回答
1
當按鈕點擊後,在UserDefaults保存的標誌值:
UserDefaults.standard.set("1", forKey: "kIsButtonSelected")
UserDefaults.standard.synchronize()
當重新啓動應用程序,檢查值並設置按鈕圖像:
if let isButtonSelected = UserDefaults.standard.object(forKey: "kIsButtonSelected") as? String {
if isButtonSelected == "1" {
//set the second image
}
}
而且一更好的做法是爲按鈕的正常狀態設置第一個圖像,第二個爲選定的狀態。而剛剛設定的檢測標誌值時,該按鈕的狀態:
button.isSelected = true //the image will be changed to the second one automatically.
0
我會做這個,所以這樣如果需要的話,你可以使用超過1張圖片:
// Put a all of your images that you want here:
var imageDictionary = ["smilyface": UIImage(named: "smilyface.png"),
"person" : UIImage(named: "person.png"),
// and so on...
]
// Use this whenever you want to change the image of your button:
func setCorrectImageForButton(imageName name: String) {
UserDefaults.standard.set(name, forKey: "BUTTONIMAGE")
}
// Then use this to load the image to your button:
// myButtonImage = grabCorrectImageForButton()
func grabCorrectImageForButton() -> UIImage? {
guard let imageKey = UserDefaults.standard.string(forKey: "BUTTONIMAGE") else {
print("key not found!")
return nil
}
if let foundImage = imageDictionary[imageKey] {
return foundImage
}
else {
print("image not found!")
return nil
}
}
相關問題
- 1. 自定義按鈕initWithImage在自定義圖像後面顯示默認按鈕
- 2. - 保存使用自定義的按鈕
- 3. Swift - 如何保存圖像按鈕?
- 4. 如何在Swift 3的UIBarButtonItem按鈕中獲取自定義圖像名稱?
- 5. 使用自定義圖像而不是默認的Facebook Share按鈕?
- 6. 使用默認圖紙保持按鈕
- 7. 我如何刪除使用swift的按鈕的圖像3
- 8. 黑莓自定義按鈕,看起來像默認按鈕
- 9. 如何在swift 3中自定義按鈕的大小?
- 10. 如何在Swift 3中隱藏TabBarController上的自定義按鈕?
- 11. Android:在自定義按鈕中使用默認高亮顏色
- 12. 如何自定義UINavigationView中的默認後退按鈕ios7
- 13. 將默認按鈕樣式應用於自定義按鈕類
- 14. swift的自定義按鈕
- 15. 自定義UITableViewCell中的默認刪除按鈕和圖標
- 16. 將自定義數組保存到用戶默認設置
- 17. 自定義引導默認按鈕
- 18. 如何自定義表單圖像保存爲自定義用戶字段
- 19. 使用自定義圖像按鈕在RichTextBox中顯示圖像
- 20. Swift 3 - 保存圖像更改RGB值
- 21. 自定義圖像按鈕
- 22. 如何在actionscript 3中自動將圖像保存在默認文件夾中?
- 23. 如何在用戶默認值中存儲自定義對象 - IOS
- 24. 自定義按鈕圖像不適用
- 25. swift-將值分配給子視圖中的自定義按鈕
- 26. Swift默認參數使用緩存值
- 27. 如何使用圖像和按鈕調整和自定義AlertView
- 28. 如何保存用戶用swift選擇的圖像?
- 29. 如何保存默認的Android圖庫應用程序編輯的自定義文件名圖像intent.setAction(Intent.ACTION_EDIT)
- 30. 如何使用用戶默認值保存開關的開/關值?
這是不是一個壞的方法,但最好將圖像名稱存儲爲關鍵字......然後,加載按鈕圖像時,只需將UD的值與圖像列表相匹配即可。這讓我有更多的靈活性,比如自定義頭像等等(這是我認爲OP會與之相匹配的地方) – Fluidity
是的,我只是提供簡單的解決方案讓Francisco很快理解。我在回答中加入了一個更好的做法以供參考。 –