2016-05-27 6 views
0

私は、テキストフィールドに文字列を与えるsegmentedControlを持っています。私も2つのテキストフィールドを持っています。 1つはユーザ入力用であり、2つ目はセグメント化制御テキストフィールドとユーザ入力テキストフィールドからの計算を行うためのものです。 segmentedcontrolindexが変更された場合、どうすれば計算テキストフィールドを自動的に更新できますか? ユーザ入力のテキストフィールドでは、テキストフィールドの変更メソッドが機能します。おかげ enter image description heresegmentedcontrol/textfield/DidChange

@IBOutlet weak var segmentedcontrol: UISegmentedControl! 



@IBOutlet weak var textf: UITextField! 
@IBOutlet weak var textf1: UITextField! 
@IBOutlet weak var textf2: UITextField! 



override func viewDidLoad() { 
    super.viewDidLoad() 




    textf.delegate = self 
    textf1.delegate = self 
    textf2.delegate = self 

    // 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 textf1(sender: AnyObject) { 


    let result = (textf.text! as NSString).doubleValue * (textf2.text! as NSString).doubleValue 

    textf1.text = String(format:"%.2f", result) 

} 



@IBAction func segmentedcontrolAction(sender: AnyObject) { 

    if(segmentedcontrol.selectedSegmentIndex == 0) 
    { 
     textf2.text = "5"; 
    } 
    else if(segmentedcontrol.selectedSegmentIndex == 1) 
    { 
     textf2.text = "10"; 
    } 
    else if(segmentedcontrol.selectedSegmentIndex == 2) 
    { 
     textf2.text = "15"; 
    } 


} 
+1

あなたがセグメント化された制御用の 'IBOutlet'は必要ありません。これは、 'segmentedcontrolAction'のパラメータ' sender'として渡されます。そして、あなたは 'switch sender.selectedSegmentIndex {case 0:...}'や 'textf2.text =" \((sender.selectedSegmentIndex + 1)* 5)を書くコードを最適化することができます。 " – vadian

答えて

1
@IBAction func segmentedcontrolAction(sender: AnyObject) 
{ 

    if(segmentedcontrol.selectedSegmentIndex == 0) 
    { 
     textf2.text = "5"; 


    } 
    else if(segmentedcontrol.selectedSegmentIndex == 1) 
    { 
     textf2.text = "10"; 


    } 
    else if(segmentedcontrol.selectedSegmentIndex == 2) 
    { 
     textf2.text = "15"; 


    } 
     let result = (textf.text! as NSString).doubleValue * (textf2.text! as NSString).doubleValue 
     textf1.text = String(format:"%.2f", result) 

} 
+0

もシンプルです道:o) – Andreas

+0

ありがとう!!!!! – Andreas

+0

OKいつもようこそ –