这里没有好的答案。所以我想知道如何做到这一点。 例如,在UITableViewCell的customClass中,我想制作一个带有照片和标签的原型单元格。
class myCell: UITableViewCell {
init(style: UITableViewCellStyle, reuseIdentifier: String?){
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
....
}
class myController: UIViewController {
....
}
我想你们先在myController中注册myCell,然后
the cell = let cell = tableView.dequeueReusableCell() so on.
如果我在myController中注册myCell,则无需使用
init(style: UITableViewCellStyle, reuseIdentifier: String?){
}
。如果我不在下面使用,如何将子视图添加到UITableViewCell视图?
init(style: UITableViewCellStyle, reuseIdentifier: String?){
}
注意:我想注册单元格,因为我只加载单元格一次。并使用dequeueReusableCell()
你能告诉我如何专业地做这件事吗? 您可以使用自己的方法。我只想要一个带照片和标签的原型单元格。并且所有过程都是以编程方式进行的。
答案 0 :(得分:2)
您可以定义自己的表格视图单元格类:
CustomTableController
然后您只需在class CustomTableController: UITableViewController {
fileprivate var data: [Model] = []
override func viewDidLoad() {
super.viewDidLoad()
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 44
// registering a cell class for reuse is important
// but it's enough to make it once in viewDidLoad
tableView.register(CustomCell.self, forCellReuseIdentifier: CustomCell.identifier)
tableView.reloadData()
}
// MARK: Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// here you can dequeue your cell
let cell = tableView.dequeueReusableCell(withIdentifier: CustomCell.identifier, for: indexPath) as! CustomCell
// configure the cell using model, e.g.:
cell.configure(withTitle: data[indexPath.row].title)
return cell
}
}
:
import java.io.*;
class demo
{
public static void main(String[]arg) throws IOException
{
InputStreamReader i=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(i);
System.out.println("enter name");
String s1=br.readLine();
System.out.println("enter gender");
char s2=(char)br.read();
System.out.println("enter adress");
String s3=br.readLine();
System.out.println("name"+s1);
System.out.println("gender"+s2);
System.out.println("address"+s3);
}
}