0
UISegmentControl
を使用して2 UIViews
を切り替えています.1つはユーザーを選択し、もう1つはそのユーザーに関する情報を表示します。セグメント化されたコントロールを使用するデフォルトのUIView?
問題は、最初にこのページに移動するときに表示されるUIView
がストーリーボード階層内のプレースメントに依存していることです。
このページに移動するときに表示されるデフォルト画面は常に「selectionView」です。
セグメントタブ自体はselectedSegmentIndex = 0
であり、一度切り替えると期待通りに機能しますが、この問題を解決できるのは、ストーリーボード内のビューの位置を変更することだけです。
これをプログラムで行うにはどうすればよいですか? viewDidLoad
で
import UIKit
@IBOutlet weak var segmentController: UISegmentedControl!
@IBAction func segmentIndexChanged(sender: UISegmentedControl) {
switch segmentController.selectedSegmentIndex {
case 0: selectionView.hidden = false; infoView.hidden = true
case 1: selectionView.hidden = true; infoView.hidden = false
default: break
}
}
@IBOutlet weak var selectionView: UIView!
@IBOutlet weak var infoView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
segmentController.setTitle("Select User", forSegmentAtIndex: 0)
segmentController.setTitle("User Info", forSegmentAtIndex: 1)
segmentController.selectedSegmentIndex = 0
}
の下に追加します。 。ありがとうございました – sMk