にアクセスしようとしたときはnilと来るUserDefaultsを使用して設定...私は、保存ボタンを押すと
、それはので、ユーザーのデフォルトにテキストフィールドの入力を保存します私はそれをラベルに表示することができます。それは入力を保存するとすぐにラベルが表示されるので、うまくいきます。
スワイプジェスチャーを追加して、ラベルを含むUIViewを反転し、別の画像を表示しました。しかし、スワイプで元に戻したいときは、ラベルが現在ではなくなっているというエラーが表示されます。
私はこれに新しいです、簡単に修正するのは簡単な愚かなエラーであれば余裕があります。任意のヘルプについては、
Thnx
ViewController.swiftファイル
import UIKit
class ViewController: UIViewController {
var back: UIImageView!
@IBOutlet weak var plateView: UIView!
@IBOutlet weak var text: UITextField!
@IBOutlet weak var label: UILabel!
@IBOutlet weak var saveBtn: UIButton!
var showingFront = true
let defaults = UserDefaults.standard
override func viewDidLoad() {
super.viewDidLoad()
back = UIImageView(image: UIImage(named: "back.png"))
let swipe = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.swiped))
swipe.direction = UISwipeGestureRecognizerDirection.left
plateView.addGestureRecognizer(swipe)
label.backgroundColor = UIColor(patternImage: UIImage(named: "blank.png")!)
saveBtn.isHidden = true
}
func swiped() {
if (showingFront) {
UIView.transition(from: label, to: back, duration: 1, options: UIViewAnimationOptions.transitionFlipFromRight, completion: nil)
showingFront = false
} else {
UIView.transition(from: back, to: label, duration: 1, options: UIViewAnimationOptions.transitionFlipFromLeft, completion: nil)
showingFront = true
}
}
@IBAction func editingDidBegin(_ sender: Any) {
saveBtn.isHidden = false
label.isHidden = true
text.isHidden = false
}
@IBAction func save(_ sender: Any) {
defaults.set(text.text, forKey: "number")
defaults.synchronize()
let num = defaults.string(forKey: "number")
label.text = num
label.isHidden = false
saveBtn.isHidden = true
view.endEditing(true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
あなたのストーリーボード/ xibの画像を共有してより明快になることができますか? –
が完了しました。また、更新されたコードので、そのクリーナーとより意味をなさない – koz