Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift:UICollectionView作为子类以编程方式导入UIViewController_Ios_Swift_Uiviewcontroller - Fatal编程技术网

Ios Swift:UICollectionView作为子类以编程方式导入UIViewController

Ios Swift:UICollectionView作为子类以编程方式导入UIViewController,ios,swift,uiviewcontroller,Ios,Swift,Uiviewcontroller,我有一个简单的UIViewController,我想以编程方式将多个UICollectionView(多个)放入该UIViewController 我知道这是完全可能的,但我想在子类中配置并实现UICollectionView 问题是: 如何在UIViewController 我的子类UICollectionView或UICollectionViewController 另外,我不使用故事板或Nib,我希望100%以编程方式实现这一点 提前谢谢 override func viewDidL

我有一个简单的
UIViewController
,我想以编程方式将多个
UICollectionView
(多个)放入该
UIViewController

我知道这是完全可能的,但我想在子类中配置并实现
UICollectionView

问题是:

  • 如何在
    UIViewController
  • 我的子类
    UICollectionView
    UICollectionViewController

另外,我不使用故事板或Nib,我希望100%以编程方式实现这一点

提前谢谢

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10)
    layout.itemSize = CGSize(width: 90, height: 120)

    collectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
    collectionView.dataSource = self
    collectionView.delegate = self
    collectionView.registerClass(UICollectionViewCell.self, forCellWithReuseIdentifier: "Cell")
    collectionView.backgroundColor = UIColor.whiteColor()
    self.view.addSubview(collectionView)
}

它以编程方式创建
UICollectionView
。要添加多个集合视图,请在
.tag

的帮助下识别它们。它应该如下所示:

let controller = <your UICollectionViewController initialization>
addChildViewController(controller)
controller.view.frame = CGRectMake(...) //frame of UICollectionView you want it takes in main View
view.addSubview(controller.view)
controller.didMoveToParentViewController(self)
let控制器=
addChildViewController(控制器)
controller.view.frame=CGRectMake(…)//要在主视图中获取的UICollectionView的帧
view.addSubview(controller.view)
控制器。didMoveToParentViewController(自)

顺便说一下,如果您在Interface Builder中使用“容器视图”,实际上会容易得多。这样,您就不必担心任何与包容相关的调用,Interface Builder会为您处理这些调用。

“另外,我不使用故事板或Nib,我希望100%以编程方式完成这些调用”,为什么这么愚蠢?