在分段控制开关中加载UICollectionViewController
load UICollectionViewController in segmented control switch
我想实现一个分段控制器,在切换时将 UICollectionViewController 加载到视图中。此外,我还想知道如何让应用程序在应用程序 ViewDidLoad 方法上显示此 UICollectionViewController 。请参阅下面的代码。提前致谢!
var segmentedController: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
let items = ["Label A", "Label B"]
segmentedController = UISegmentedControl(items: items)
navigationItem.titleView = segmentedController
segmentedController.selectedSegmentIndex = 0
// function to handle Value Changed events
segmentedController.addTarget(self, action: #selector(HomeController.segmentedValueChanged(_:)), for: .valueChanged)
}
// reference to collectionViewController
var travelersFeedCollectionVC: UICollectionViewController!
func segmentedValueChanged(_ sender:UISegmentedControl!)
{
print("Selected Segment Index is : \(sender.selectedSegmentIndex)")
switch segmentedController.selectedSegmentIndex {
case 0:
self.view.isHidden = true
// load travelersFeedCollectionVC here.............
case 1:
self.view.isHidden = false
default: // Do nothing
break
}
}
您可以使用容器视图技术。基本上你需要定义主容器视图。在容器视图内部,您可以轻松地显示您想要的任何视图控制器。请参阅本教程以了解有关此技术的更多信息。 Link - https://guides.codepath.com/ios/Container-View-Controllers-Quickstart
我想实现一个分段控制器,在切换时将 UICollectionViewController 加载到视图中。此外,我还想知道如何让应用程序在应用程序 ViewDidLoad 方法上显示此 UICollectionViewController 。请参阅下面的代码。提前致谢!
var segmentedController: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
let items = ["Label A", "Label B"]
segmentedController = UISegmentedControl(items: items)
navigationItem.titleView = segmentedController
segmentedController.selectedSegmentIndex = 0
// function to handle Value Changed events
segmentedController.addTarget(self, action: #selector(HomeController.segmentedValueChanged(_:)), for: .valueChanged)
}
// reference to collectionViewController
var travelersFeedCollectionVC: UICollectionViewController!
func segmentedValueChanged(_ sender:UISegmentedControl!)
{
print("Selected Segment Index is : \(sender.selectedSegmentIndex)")
switch segmentedController.selectedSegmentIndex {
case 0:
self.view.isHidden = true
// load travelersFeedCollectionVC here.............
case 1:
self.view.isHidden = false
default: // Do nothing
break
}
}
您可以使用容器视图技术。基本上你需要定义主容器视图。在容器视图内部,您可以轻松地显示您想要的任何视图控制器。请参阅本教程以了解有关此技术的更多信息。 Link - https://guides.codepath.com/ios/Container-View-Controllers-Quickstart