ios - 在不同的表格中使用单元格设计
ios - Use Cell design in different Tables
我正在创建一个包含不同表格的 ios 应用程序。但是其中一些表格使用相同的单元格。有没有办法在中心点设计具有所有约束和东西的单元?因为我不想将每个单元格复制到所有表中并在我更改某些内容时更新它们。或者我应该以编程方式完成这一切吗? (我不是很想要这个,有很多事情要做)
谢谢!
你可以为你的手机制作一个笔尖,只需将笔尖加载到 cellForRowAtIndexPath:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
yourCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"yourCustomCell"];
if (cell == nil) {
// Load the top-level objects from the custom cell XIB.
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"yourCustomCell" owner:self options:nil];
// Grab a pointer to the first object (presumably the custom cell, as that's all the XIB should contain).
cell = [topLevelObjects objectAtIndex:0];
}
return cell;
}
在Xcode中,你可以制作这些叫做xibs的东西。它看起来类似于您的故事板,但它可以用于在没有视图控制器的情况下简单地制作视图。然后,您可以通过
在代码中使用该 xib
Bundle.main.loadNibNamed(enter your params here).first as! YourCell
您的单元格只是您的子类化 tableview 单元格的名称,如果您不对其进行子类化,它就会像! TableViewCell
当你有很多 table 并且一些 table 使用同一个单元格时,在这种情况下,你可以使用 Xib
转到 New -> Files 并添加 Empty interface -> Add it。
转到界面构建器并从 UI 元素列表
添加 tableViewCell
添加 class 类型 UITableViewCell 做需要的连接
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let identifier = "NameOfTableViewCellIdentifier"
var cell: classOfTableViewCell! = tableView.dequeueReusableCell(withIdentifier: identifier) as? classOfTableViewCell
if cell == nil {
tableView.register(UINib(nibName: "XibNameOfTableViewCell", bundle: nil), forCellReuseIdentifier: identifier)
cell = tableView.dequeueReusableCell(withIdentifier: identifier) as? classOfTableViewCell
}
cell.outletOfUIElements..........
return cell!
}
让我知道它是否适合你
我正在创建一个包含不同表格的 ios 应用程序。但是其中一些表格使用相同的单元格。有没有办法在中心点设计具有所有约束和东西的单元?因为我不想将每个单元格复制到所有表中并在我更改某些内容时更新它们。或者我应该以编程方式完成这一切吗? (我不是很想要这个,有很多事情要做)
谢谢!
你可以为你的手机制作一个笔尖,只需将笔尖加载到 cellForRowAtIndexPath:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
yourCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"yourCustomCell"];
if (cell == nil) {
// Load the top-level objects from the custom cell XIB.
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"yourCustomCell" owner:self options:nil];
// Grab a pointer to the first object (presumably the custom cell, as that's all the XIB should contain).
cell = [topLevelObjects objectAtIndex:0];
}
return cell;
}
在Xcode中,你可以制作这些叫做xibs的东西。它看起来类似于您的故事板,但它可以用于在没有视图控制器的情况下简单地制作视图。然后,您可以通过
在代码中使用该 xibBundle.main.loadNibNamed(enter your params here).first as! YourCell
您的单元格只是您的子类化 tableview 单元格的名称,如果您不对其进行子类化,它就会像! TableViewCell
当你有很多 table 并且一些 table 使用同一个单元格时,在这种情况下,你可以使用 Xib 转到 New -> Files 并添加 Empty interface -> Add it。 转到界面构建器并从 UI 元素列表
添加 tableViewCell添加 class 类型 UITableViewCell 做需要的连接
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let identifier = "NameOfTableViewCellIdentifier"
var cell: classOfTableViewCell! = tableView.dequeueReusableCell(withIdentifier: identifier) as? classOfTableViewCell
if cell == nil {
tableView.register(UINib(nibName: "XibNameOfTableViewCell", bundle: nil), forCellReuseIdentifier: identifier)
cell = tableView.dequeueReusableCell(withIdentifier: identifier) as? classOfTableViewCell
}
cell.outletOfUIElements..........
return cell!
}
让我知道它是否适合你