図のようにSegmentedControlを二つ配置してA〜Dボタンのコンビネーションでラベルに数値出力をしたい。
上セグメントをseg1
ボタンA case 0: seg1number = 1
ボタンB case 1: seg1number = 2
下セグメントをseg2
ボタンC case 0: seg2number = 0
ボタンD case 1: seg2number = 10
sum(加算結果) = seg1number + seg2number
import
1 2class ViewController: UIViewController { 3 4 var seg1number: Int = 0 5 var seg2number: Int = 0 6 var sum: Int = 0 7 @IBOutlet weak var point: UILabel! 8 9 @IBAction func seg1(_ sender: UISegmentedControl) { 10 switch sender.selectedSegmentIndex { 11 case 0: 12 seg1number = 1 13 case 1: 14 seg1number = 2 15 default : return 16 17 } 18 } 19 @IBAction func seg2(_ sender: UISegmentedControl) { 20 switch sender.selectedSegmentIndex { 21 case 0: 22 seg2number = 0 23 case 1: 24 seg2number = 10 25 default: 26 return 27 } 28 sum = seg1number + seg2number 29 print(sum) 30 point.text = "(sum)" 31 } 32 33 override func viewDidLoad() { 34 super.viewDidLoad() 35 // Do any additional setup after loading the view. 36 37 } 38 39 40} 41コード
シミュレータにかけると
加算結果sumをseg2{}内に記述したためかボタンC,Dの切り替えに数値もリアルタイムに変化しますが、ボタンA,Bの切り替えはリアルタイムではなく、C,Dを切り替えた時のみ数値変化します。
同様に加算結果sumをseg1{}内に記述すると逆のことが起きます。
どうやったらA、B C,D全てのボタン切り替えでラベルの数値をリアルタイムに変化させられるのでしょうか?
viewdidload内記述ではラベルに反映しませんがデバッグコンソールに数値は正しく表示されます。
swift 5
Xcode 11.2.1
どうかご教授願います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/09 02:16
2019/12/09 02:19