私がやりたかったのは、単純な画像をバックグラウンドとして持つカスタムボタンから始まるということです。ユーザーが「入力」ボタンをタップすると、カスタムボタンの画像が永久に変更され、ユーザーがアプリを再起動すると、最初の画像の代わりに2番目の画像が表示されます。 Swift 3にUser Defaultsのカスタムボタンの画像を保存する方法は?
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
}
}
と、A より良い方法は、ボタンの通常の状態のための第1のイメージを設定し、選択されたステータスのための第2のイメージを設定することである。フラグ値が検出されたときに、ちょうどボタンの状態を設定します。
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. SwiftのUser Defaultsでブール値を設定する方法は?
- 2. Swift 3:imageView(GIF)からアニメーション画像を保存するには?
- 3. Swift 3 - 画像を保存するRGB値を変更する
- 4. コアデータに画像を保存する方法SWIFT
- 5. Swift 3でTabBarControllerのカスタムボタンを非表示にする方法は?
- 6. Swift 3のNSUserDefaultsにデータを保存する方法は?
- 7. 私はUIImageView swift 3から特定のフォルダに画像を保存します。
- 8. 同じ行に3つのdiv画像を保存する方法は?
- 9. Swift 3でUIButtonの画像を設定する方法は?
- 10. Swift 3でFirebaseに多値データを保存する方法は?
- 11. UserDefaultsまたはkeychainにオブジェクトを保存する方法 - Swift 3
- 12. MKPlacemarkをiosのRealmに保存する方法(Swift 3)
- 13. 画像を描画してファイルに保存する方法は?
- 14. Swift 3.0で保存した画像のURLを取得する方法
- 15. Swift 3 - パラメータを含む画像をmysqlにアップロードする方法
- 16. URL Swift 3で画像をダウンロードする方法は?
- 17. /私のアプリに画像を保存する方法は? (アンドロイド)
- 18. mongodbにファイルや画像のURLを保存する方法は?
- 19. Rのディレクトリに画像を保存する方法は?
- 20. TwentyTwenty.jsの画像を中央に保存する方法は?
- 21. imageViewの背景画像をビットマップに保存する方法は?
- 22. attachment_fuプラグインのdb_filesに画像を保存する方法は?
- 23. Androidのギャラリーに画像を保存する方法は?
- 24. 画像を回転して画像を保存する方法
- 25. SwiftにURLを永久保存する方法3
- 26. Swift 3で画像内にゾーンを定義する方法
- 27. HTML Bodyに画像を挿入する方法Email Swift 3?
- 28. Laravel:画像をパブリックフォルダに保存する方法は?
- 29. ビデオの途中から画像を保存する方法は?
- 30. Outlookのカスタムボタンの画像アイコンを追加する方法
しかし、画像名をキーとして保存するほうがいいかもしれません...ボタン画像をロードすると、UDの値と画像のリストが一致します。これはカスタムアバターなどの柔軟性を可能にします(私はOPがこれと一緒に行くと思います) – Fluidity
はい、シンプルなソリューションを提供しています。そして私は、参考のために、より良い練習を答えに加えました。 –