Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.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中用多个原型单元编程实现UITableViewController_Ios_Objective C_Swift_Uitableview - Fatal编程技术网

Ios 如何在swift中用多个原型单元编程实现UITableViewController

Ios 如何在swift中用多个原型单元编程实现UITableViewController,ios,objective-c,swift,uitableview,Ios,Objective C,Swift,Uitableview,我刚刚开始学习swift,我使用故事板创建了一个设置页面,如所附图片所示。所使用的参考链接是 同样的事情,我想通过编程实现,即我想实现cellforrowatinexpath函数,该函数具有不同的原型单元,如下图所示。 如果可能,请参考给定的示例UI给出示例 谢谢请进一步查看dequeuereusablecellwithidentifier。如果您使用的是故事板,请将UITableViewCells与reusableIdentifier一起添加 这是苹果公司创造的一个很好的开端。它包括各种各样

我刚刚开始学习swift,我使用故事板创建了一个设置页面,如所附图片所示。所使用的参考链接是

同样的事情,我想通过编程实现,即我想实现cellforrowatinexpath函数,该函数具有不同的原型单元,如下图所示。 如果可能,请参考给定的示例UI给出示例


谢谢

请进一步查看
dequeuereusablecellwithidentifier
。如果您使用的是故事板,请将
UITableViewCell
s与
reusableIdentifier
一起添加

这是苹果公司创造的一个很好的开端。它包括各种各样的东西,本身就是一个演示应用程序。这将提供开始使用
UITableView
UITableViewCell
所需的所有常规信息

1.为希望在tableView中看到的每个自定义单元格创建视图(XIB)文件。虽然您可以在代码中进行布局设计,但我建议您从可视化方法开始,看看如何进行,因为您必须能够自由操作自动布局、约束、大小类等

2.创建包含单个表视图的UIViewController

3.为步骤1中创建的每个单元格(XIB)创建Cocoa Touch类文件(.swift)。在这些文件中,您应该引用单元格中包含的内容(UILabels、UIImageView等)。不要忘记单元格应该有相同的类(打开XIB文件,右面板上的第三个图标)

4.为在情节提要中创建的UIViewController创建Cocoa Touch类文件(.swift)。引用(鼠标拖动)此Cocoa Touch类中的tableView。确保序列图像板中的UIViewController设置了此类(自定义类字段,与步骤3中的单元格相同)

5.在ViewDidLoad方法中重新输入单元格的笔尖

         tableView.registerNib(UINib(nibName: "topCell", bundle: nil), forCellReuseIdentifier: "topCell")
         tableView.registerNib(UINib(nibName: "contentCell", bundle: nil), forCellReuseIdentifier: "contentCell")
         tableView.rowHeight = UITableViewAutomaticDimension; //<--Calculates rows height
         tableView.estimatedRowHeight = 44.0;                 //   automatically (iOS 8+)
tableView.registerNib(UINib(nibName:“topCell”,bundle:nil),强制重用标识符:“topCell”)
registerNib(UINib(nibName:“contentCell”,bundle:nil),强制重用标识符:“contentCell”)
tableView.rowHeight=UITableViewAutomaticDimension;//Int{
}

如果您不完全确定如何实现这些必需的方法,您可以在我在文章开头提到的项目中查找它们。

在故事板中创建原型单元,并为每个原型单元创建UITableViewCell的子类。现在您可以根据需要使用任何单元格。@Amit89-您的意思是我需要为要使用的3个不同的原型单元格创建3个单独的swift类吗?请在tableviewcontroller情节提要中创建3个UITableViewCell的子类和3个原型单元格。虽然此链接可以回答问题,最好在这里包括答案的基本部分,并提供链接供参考。如果链接页面更改,只有链接的答案可能会无效。我已经添加了一个相当广泛的解释。希望它能帮助那些被OP想要实现的目标所困扰的人。
class FeedVC: UIViewController, UITableViewDataSource, UITableViewDelegate {
} // <-- your class for the UIViewController with tableView


func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
}