UIView 容器中的 Swift-UICollectionView

Posted

技术标签:

【中文标题】UIView 容器中的 Swift-UICollectionView【英文标题】:Swift-UICollectionView in UIView Container 【发布时间】:2017-03-08 17:55:04 【问题描述】:

我有三个部分,标题和一个容器,标签栏可以促进该容器内所有页面的转换。我想构建一个如下图的UI。

我的方法是创建两个容器视图,一个用于标题,另一个用于标签栏和选定页面。标签栏和选定的页面是 UICollectionViewCell。所以我将把 UICollectionViewCell 放在 UIView 容器中。

在我的 BusinessHomeViewController.swift 文件中

class BusinessHomeViewController: UIViewController 
 let businessPagesContainer: BusinessPages = 
   let bp = BusinessPages()
    return bp
()
  func setupbusinessPagesContainerView()
    businessPagesContainer.heightAnchor.constraint(equalToConstant: 80).isActive = true
    businessPagesContainer.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true

    businessPagesContainer.topAnchor.constraint(equalTo: businessDescriptionView.bottomAnchor, constant: 90).isActive = true

    view.addSubview(menuBar)
    menuBar.topAnchor.constraint(equalTo: pageToggleContainer.topAnchor, constant: 2).isActive = true
    menuBar.centerXAnchor.constraint(equalTo: pageToggleContainer.centerXAnchor).isActive = true



 override func viewDidLoad() 
    super.viewDidLoad()

            view.addSubview(businessPagesContainer)
              setupbusinessPagesContainerView()
    
    

在我的 BusinessPages.swift 文件中

import UIKit

class BusinessPages: UICollectionViewCell 

override init(frame: CGRect) 
    super.init(frame: frame)



required init?(coder aDecoder: NSCoder) 
    fatalError("init(coder:) has not been implemented")


当我运行该应用程序时,它会崩溃并给出此错误“以 NSException 类型的未捕获异常终止”。我的方法是否错误,我该如何解决?

【问题讨论】:

【参考方案1】:

如果您遇到此问题,请确保您转到 Main.storyboard,右键单击电话顶部的黄色框图标(视图控制器)并删除带有黄色标志的插座。

【讨论】:

我没有使用故事板,我以编程方式构建它

以上是关于UIView 容器中的 Swift-UICollectionView的主要内容,如果未能解决你的问题,请参考以下文章

UIStackView 在容器视图中的行为不可预测

使用 IOS 中的约束将 UIView 中的子视图居中

在 UIView 内对 UITableView 设置约束

从 UIImage 清除 UIView 绘图

如何在容器(UIView)内居中对齐 2 个 UIView,而不将它们放在 UIView 内

iOS中的自动布局问题