2016-10-29 4 views
3

私は仕事場の金庫でお金を集めるために使っている小さなプログラムを作ったが、私のiPhoneを更新した後はもう使えなかった。iOSでキーボードを辞める方法

多くの読書の後、私はすべてを修正しましたが、私はキーボードを辞める新しい方法を見つけませんでした。私はこれを使用し、更新する前に

@IBAction func resignKeyboard(_sender: AnyObject) { 
    _sender.resignFirstResponder() 
} 

私はそれを行うための新しい方法を愛することになるので、これはもう動作しません。私はかなり解決策を探しましたが、私が見つけた解決策のどれも理解していません。だからできるだけ多くのあなたの答えを簡略化してください。

これは私のプログラムから "ViewController.Swift" からすべてです:すべてのテキストフィールドがviewのサブビューあると仮定すると、

// 
// ViewController.swift 
// Pengeskabstæller 
// 
// Created by Alex on 09/07/2016. 
// Copyright © 2016 Alex. All rights reserved. 
// 

import UIKit 


class ViewController: UIViewController, UITextFieldDelegate { 

@IBOutlet weak var In50B: UITextField! 
@IBOutlet weak var In50L: UITextField! 
@IBOutlet weak var In20B: UITextField! 
@IBOutlet weak var In20L: UITextField! 
@IBOutlet weak var In10B: UITextField! 
@IBOutlet weak var In10L: UITextField! 
@IBOutlet weak var In5B: UITextField! 
@IBOutlet weak var In5L: UITextField! 
@IBOutlet weak var In2B: UITextField! 
@IBOutlet weak var In2L: UITextField! 
@IBOutlet weak var In1B: UITextField! 
@IBOutlet weak var In1L: UITextField! 
@IBOutlet weak var In05B: UITextField! 
@IBOutlet weak var In05L: UITextField! 
@IBOutlet weak var Ialt: UILabel! 


@IBAction func resignKeyboard(_sender: AnyObject) { 
    _sender.resignFirstResponder() 
} 
override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a  nib. 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

@IBAction func Knap(sender: AnyObject) { 
    //Hvad knappen gør 

    //Ganger input ved værdi af bundt eller løse 
    var x50B: Int = Int(In50B.text!)! 
    x50B = x50B*5000 
    var x50L:Int = Int(In50L.text!)! 
    x50L = x50L*500 
    var x20B:Int = Int(In20B.text!)! 
    x20B = x20B*4000 
    var x20L:Int = Int(In20L.text!)! 
    x20L = x20L*400 
    var x10B:Int = Int(In10B.text!)! 
    x10B = x10B*2000 
    var x10L:Int = Int(In10L.text!)! 
    x10L = x10L*200 
    var x5B:Int = Int(In5B.text!)! 
    x5B = x5B*1000 
    var x5L:Int = Int(In5L.text!)! 
    x5L = x5L*200 
    var x2B:Int = Int(In2B.text!)! 
    x2B = x2B*500 
    var x2L:Int = Int(In2L.text!)! 
    x2L = x2L*50 
    var x1B:Int = Int(In1B.text!)! 
    x1B = x1B*500 
    var x1L:Int = Int(In1L.text!)! 
    x1L = x1L*50 
    var x05B:Int = Int(In05B.text!)! 
    x05B = x05B*200 
    var x05L:Int = Int(In05L.text!)! 
    x05L = x05L*20 

    //Lægger det hele sammen 

    let penge1 = (x50B + x50L + x20B) 
    let penge2 = (x20L + x10B + x10L) 
    let penge3 = (x5B + x5L + x2B + x2L) 
    let penge4 = (x1B + x1L + x05B + x05L) 
    let penge99 = String(penge1+penge2+penge3+penge4) 

    //Printer ialt 
    Ialt.text = penge99 
} 

}  

答えて

3

コンセントを追加する代わりに、これを行うよりよい方法です。

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    view.endEditing(true) 
} 

希望すると助かります!

+0

あなたが行うことができます!しかし、私は次の問題を抱えている、私はアプリの最後のビットをアクティブにするボタンを押すとクラッシュします。 –

+0

このコードを追加した後でそれが起こっていますか?それはあまり意味がありません。それとも全く別のものなのでしょうか? – nunezve

+0

いいえ問題は、迅速2と3の間で変更された何か他のものでした。私はそれをここに固定しましたhttp://stackoverflow.com/questions/40324555/my-app-is-simple-app-is-crashing/40324682#40324682 –

3

は、あなたがendEditing方法のように使用することができます:私は思う

@IBAction func resignKeyboard() { 
    view.endEditing(true) 
} 
0

UITextField代わりのAnyObjectに送信者を変更しようとそれは完璧に動作sender.resignFirstResponder()

関連する問題