이것은 계속 an earlier post입니다. 내가 궁금해 한건 어둠 모드에 대한 사용자 기본값을 앱 전체에 추가하는 방법이었습니다. 제 마지막 게시물에 UserDefaults라는 코드에 대해주의를 기울이지 마십시오. tutorial을 따르고 있었으며 사용자 기본값에 대해 전혀 모르는 상태에서 복사 한 내용 만 복사했습니다. 전체 어두운 모드는 앱 전체에서 아름답게 작동합니다. 모든 사용자 기본값을 수행하는 방법을 알아야합니다. 질문이 있으시면 언제든지 물어보십시오.사용자 기본값을 어둡게 모드로 추가
아래 코드는 설정보기 컨트롤러에있는 맞춤 셀이 아래와 같이 표시되어 앱을 어둡게 모드로 변경합니다. 모든 것이 훌륭하게 작동해야합니다. 액션에 사용자 기본값을 넣으면됩니다.
import UIKit
class DarkModeTableViewCell: UITableViewCell {
var DarkisOn = Bool()
let userDefaults = UserDefaults.standard
@IBOutlet var darkModeSwitchOutlet: UISwitch!
override func awakeFromNib() {
super.awakeFromNib()
NotificationCenter.default.addObserver(self, selector: #selector(darkModeEnabled(_:)), name: .darkModeEnabled, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(darkModeDisabled(_:)), name: .darkModeDisabled, object: nil)
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBAction func darkModeSwitched(_ sender: Any) {
if darkModeSwitchOutlet.isOn == true {
//enable dark mode
DarkisOn = true
//add a userDefault here so that the app will stay in dark mode
NotificationCenter.default.post(name: .darkModeEnabled, object: nil)
} else {
//enable light mode
DarkisOn = false
//add a userDefault here so that the app will stay in light mode
NotificationCenter.default.post(name: .darkModeDisabled, object: nil)
}
}
@objc private func darkModeEnabled(_ notification: Notification) {
DarkModeTableViewCellChange.instance.set(for: self)
textLabel?.textColor = UIColor.white
}
@objc private func darkModeDisabled(_ notification: Notification) {
LightModeTableViewCellChange.instance.set(for: self)
textLabel?.textColor = UIColor.black
}
}
편집 : 사용자가 어두운 모드에 기본값을 추가하는 방법을 찾고 있습니다. 일단 어두운 모드가 켜지면 앱을 닫을 때 등등 계속됩니다.
다른 질문에 대한 링크를 게시하는 대신이 질문을 독자적으로 사용하십시오. 이 내용을 명확하고 간결하며 독립적 인 질문으로 만드십시오. – rmaddy
더 좋습니까? – Jaqueline
위의 코드가 올바르게 들여 쓰기되지 않아 쓸모없는 빈 줄이 포함되어 있습니다. 가능한 한 쉽게 읽을 수 있도록하십시오. –