を変更することはできません私はこのようになります私のストーリーボードでセグメント化されたコントロールを作成しました:IOSセグメント化されたコントロール:選択したセグメント
その後、私はときに、コントロールの値が変化するためIBAction作成:
を@IBAction func segmentValChanged(_ sender: UISegmentedControl) {
print("touched")
if (sender.selectedSegmentIndex == 0) {
sender.selectedSegmentIndex = 1;
}
else{
sender.selectedSegmentIndex = 0;
}
}
唯一の問題は、この関数が呼び出されないことです。 ジョーク(ベータ)ボタンをクリックしても何も起こりません。私は制御のためにIBOutletを作成し、私のviewDidLoad()
で選択したセグメントを変更しようとしたとき
しかし、それが働いた:
segmentedController.selectedSegmentIndex = 1
私は使ったことがないので、私は、私はおそらく何かを明らかに逃した知っています前にセグメント化された制御。 誰がこれが何であるかを指摘できれば、ありがとう。 乾杯!
import UIKit
import Alamofire
class ViewController: UIViewController {
var currentImage: CurrentImage!
var parameters: Parameters!
@IBOutlet weak var segmentedController: UISegmentedControl!
@IBAction func segmentValChanged(_ sender: UISegmentedControl) {
print("touched")
if (sender.selectedSegmentIndex == 0) { // switch to 1
sender.selectedSegmentIndex = 1;
}
else{
sender.selectedSegmentIndex = 0;
}
}
override func viewDidLoad() {
super.viewDidLoad()
segmentedController.selectedSegmentIndex = 1
self.segmentedController.addTarget(self, action: #selector(segmentValChanged(_:)), for: .valueChanged)
}
}
そして、これは私が右のビューをクリックしたとき、それは次のようになります。
**この機能をIBで '.valueChanged'に結びましたか? – dfd
ええ、私はこれをした –
cosoleは¨touchedメッセージを印刷していますか? –