因此,我正在創建一個需要清單的應用程式,因此我能夠創建一個自定義復選框類來制作復選框并將其添加到我的 uiButtons 上,它可以正常作業,但是在打開并再次構建應用程式時,它不會保存狀態復選框,那么我怎樣才能使用此代碼將按鈕輸入添加到用戶默認值,這樣當我再次打開應用程式時,復選框輸入將被保存并回傳?
import UIKit
class CheckBox: UIButton {
//images
let checkedImage = UIImage(named: "checkedd_checkbox")
let unCheckedImage = UIImage(named: "uncheckedd_checkbox")
//bool propety
@IBInspectable var isChecked:Bool = false{
didSet{
self.updateImage()
}
}
override func awakeFromNib() {
self.addTarget(self, action: #selector(CheckBox.buttonClicked), for: UIControl.Event.touchUpInside)
self.imageView?.contentMode = .scaleAspectFit
self.imageEdgeInsets = UIEdgeInsets(top: 5.0, left: 0.0, bottom: 5.0, right: 50.0)
self.updateImage()
}
func updateImage() {
if isChecked == true{
self.setImage(checkedImage, for: [])
}else{
self.setImage(unCheckedImage, for: [])
}
}
@objc func buttonClicked(sender:UIButton) {
if(sender == self){
isChecked = !isChecked
}
}
}
uj5u.com熱心網友回復:
只需將 Userdefault 設定buttonClicked為
@objc func buttonClicked(sender:UIButton) {
if(sender == self){
isChecked = !isChecked
UserDefaults.standard.set(isChecked, forKey: "give a spesific name here")
}
}
并且檢查按鈕處于選中狀態
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let getCheckStatus = UserDefaults.standard.bool(forKey: "given spesific name here")
self.isChecked = getCheckStatus
updateImage()
}
如果您從情節提要或 xib 加載此視圖使用
required init?(coder aDecoder: NSCoder),如果您手動添加使用override init(frame: CGRect) {... }
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/518204.html
標籤:IOS迅速uikit
