自动布局和UICollectionViewCells:动态大小调整和动画第1部分
确保像上面的我的一样设置您的应用程序。 删除Main.storyboard并不是完全必需的,但是由于您没有使用它,因此最好将其删除。
现在,由于我们以编程方式进行了所有操作,因此需要对AppDelegate的didFinishLaunchingWithOptions函数进行一些更改。 将以下代码添加到该函数:
窗口= UIWindow(框架:UIScreen.main.bounds)
让 firstScreen = ViewController()
让 navController = UINavigationController(rootViewController:firstScreen)
自我 .window?.rootViewController = navController
自我 .window?.makeKeyAndVisible()
上面的大多数代码应该是不言自明的。 我们将窗口设置为具有整个屏幕定义的框架的窗口,创建UIViewController和UINavigationController,然后将UIViewController设置为UINavigationController的根视图控制器。 然后,使UINavigationController成为窗口的根视图控制器。 该makeKeyAndVisible函数使窗口可见,并将窗口移到最前面。
在运行应用程序之前,将此行(或类似内容)添加到ViewController文件的viewDidLoad函数中:
自我 .view.backgroundColor = UIColor.red
运行该应用程序,现在您的屏幕应该是红色(或您选择的任何颜色),顶部带有一个栏。 我们将继续进行讨论,即UINavigationController。
现在该开始UICollectionView了,这需要一些代码才能开始。 我将复制以下代码,并从中摘录:
自动布局最重要的行是collectionView.translatesAutoresizingMaskIntoConstraints = false
如果没有这一行,Swift将尝试为您将UICollectionView的Autoresizing Mask转换为Auto Layout约束,而我们希望成为决定视图约束的对象。
在ViewController文件的顶部,您将要确保正在实现UICollectionViewDataSource,UICollectionViewDelegate和UICollectionViewDelegateFlowLayout协议。 当Xcode询问您是否要添加协议存根时,请继续添加它们。
您的ViewController文件应如下所示:
此时,您应该有一些占位符代码和一个错误,阻止您在设备上运行该应用程序。