質問: 表題の通りですが、 お尋ねしたいことは、2点あります。 1UISegmentedControlの値と表示をリセットすることは可能ですか? 2リセットをするのは「決定」のUIButtonを押したタイミングです。 stroyboardに配置したUISegmentedControlを使って、3つ(仮にa,b,cとします)の内から1つを選択し、「決定」のUIButtonを押して、そのViewでの処理が一旦終了した後、画面遷移をしないで、UISegmentedControlの値と表示をリセットして、最初の場面に戻すことはできますか? 下記のように最初の画面で、Selectedはチェックを外して3つの内、どれも選択していない状態だと仮定した場合です。 よろしくお願いします。 ![画像の説明をここに入力](https://i.stack.imgur.com/Tlkhz.png)
回答: あなたのご質問には不明な点が幾つかあるのですが、とりあえず適当に推測を交えて回答を書いておきます。ご質問の意図と異なる場合は、コメント等でお知らせください。 「そのViewでの処理が一旦終了した後」 通常であれば、ボタンなどのAction処理は(Viewでなく)ViewControllerに記載していると思います。ここでは、ViewController内にボタンの処理を書いているものとしておきます。 「画面遷移をしないで」 通常のiOSアプリでは、意図的に画面遷移の処理を記述しなければ画面遷移は発生しませんので、なぜわざわざこのことを書かれているのか意図がわかりません。ここでは普通に処理すればいいと仮定しておきます。 「UISegmentedControlの値と表示をリセット」 こちらも、通常の使い方をしている限りUISegmentedControlの値(この「値」というのもなんの値なのかわからないのですが)と表示は連動しているので、なぜ「値と表示」と明記されているのかわかりません。とりあえず「3つの(segmentの)内、どれも選択していない状態」に戻せばいいことにしておきます。 と上記のような仮定のもとで、UISegementedControlを操作したいということであれば、やはりUISegmentedControlのリファレンスを最初に参照してください。 UISegmentedControl Class Reference selectedSegmentIndexプロパティにはこのようにあります。 *Set this property to -1 to turn off the current selection.* (技術文書の英語なぞ中学生レベルで理解できるものですので、恐れずにそれっぽいプロパティやメソッドを探してください。) このプロパティを-1にすれば現在の選択をオフにできると書いてあります。 ``` @IBAction func buttonPressed(sender: UIButton) { //UIButtonが押されたときの処理 //... segmentedControll.selectedSegmentIndex = -1; } ``` 前半を埋め尽くしてしまうくらい推測だらけですので、あなたのコードに使えるかどうかわかりませんが、可能であればお試しください。(当然@IBOutletや@IBActionは正しく接続しておいてください。)