Swift —在iOS中以编程方式创建自定义TableView单元格

让我解释一下我的情况,我是IOS开发人员大约4年。 当我尝试构建我的第一个应用程序时,我使用情节提要,xib之后,我将自己转换为以编程方式创建所有内容。 我并不是说这是最好的方法,也不是唯一的方法,但我更喜欢这样。 当我以编程方式创建某些东西时,我感到尽可能地自由。 这是我的第一个中型故事,对不起,如果我做错了什么。

好,开始吧

如果要在tableView单元上自定义并添加其他功能,则可能需要创建自定义tableView单元类。 我说可能是因为当前的TableView单元格具有一些默认元素,这些元素可以在某个时候自定义您的单元格。 但是,如果您想自定义更多内容,我将在本文中进行解释。 我将逐步向您展示所有内容,并且我将使用快速的语言。

这是我们将要构建的单元:

步骤1创建Xcode项目并修复设置:

之后,使用Single View App创建Xcode项目,因为我们不使用情节提要,因此我们需要修改一些设置。 所以这是我们应该解决的问题;

首先从项目设置的主界面中删除主菜单。

您可以在下面找到突出显示红色的图像。

然后我们打开AppDelegate.swift文件,所以我们需要告诉编辑器哪个视图控制器是根目录。我们仅为此项目修改didFinishLaunchingWithOptions函数。

AppDelegate.swift代码应类似于

完成此过程后,输入文件名“ Product”,然后单击“创建”。

现在,您应该在Project Navigator上看到Product.swift文件。 点击该文件,然后进行编辑。

如您所见,我创建了Product模型数组,因此我们可以轻松地将数据填充到TableView中。 我还创建了ProductProductArray,用于将虚拟数据添加到我的数组中。 因为我们不使用情节提要,所以我们需要向其中注册单元

步骤4创建自定义TableView单元格类并将其设置为TableView

在创建自定义TableViewCell之前,我要提到锚点和约束。 再一次,因为我们不使用Storyboard,所以我们需要通过编程来添加约束,所以我使用从Brian Voong那里学到的一些扩展他拥有youtube频道和网站(称为letsbuildthatapp.com),我强烈建议他开始学习更多。 您将在下面看到扩展屏幕截图和整个代码。

如您所见,我们使用“ ProductCell.self”更改了tableView.register单元名称,我们也修改了cellForRowat函数,我们传递了Model而不是Property。

终于这是到目前为止的结果

仅剩一步之遥,您可能意识到我们的按钮不起作用,因此我们将使用委托使其起作用。 让我们来看看。

首先,我们在Product Cell中创建一个名为ProductCellDelegate的协议,然后添加两个函数以增加和减少数量。

我们的协议应该是:

结果是:

感谢您的阅读。

这是整个项目的GitHub链接:

https://github.com/kemalekren/Sample-Custom-TableView-Project-