我在我的视图控制器中添加了一个xib,如:
MyControllerOfXib *myCOntrolXib = [[MyControllerOfXib alloc] initWithFrame:CGRectMake(width, height)];
在这个xib中我有一个标签和一个UItableView。 UIlabel很容易添加文本:
myCOntrolXib.label.text = @"someText";
但是如何初始化tableView呢?我需要什么,我可以使用
myCOntrolXib.table.delegate = self;
没有问题?
答案 0 :(得分:1)
从子类中的initWithFrame方法初始化UITableView。
之后,您可以在mainViewController上设置代理没有问题。
编辑: 您可以像往常一样在XIB UITableView上调用“重新加载”数据等。
答案 1 :(得分:1)
只需执行以下操作:
CustomView *view = [[[NSBundle mainBundle] loadNibNamed: @"YourNibName" owner: nil options: nil] firstObject];
然后,不要忘记使用addSubview
方法将视图添加到主视图中。无论如何,现在你可以做到:
[view.customProperty doSomething];
答案 2 :(得分:0)
您可以使用自定义表格视图单元格来填充表格视图中的元素。 自定义xib将与tableViewCell关联,并在cellForRowAtIndexPath中编写以下代码以初始化该单元格。
{
static NSString *simpleTableIdentifier = @"SimpleTableCell";
SimpleTableCell *cell = (SimpleTableCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SimpleTableCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
cell.nameLabel.text = [tableData objectAtIndex:indexPath.row];
cell.thumbnailImageView.image = [UIImage imageNamed:[thumbnails objectAtIndex:indexPath.row]];
cell.prepTimeLabel.text = [prepTime objectAtIndex:indexPath.row];
return cell;
}
simpleTableCell是自定义TableViewCell类的名称。
如果您遇到任何问题,请参阅此链接http://www.appcoda.com/customize-table-view-cells-for-uitableview/