到了这一点,我有自定义单元格,里面有2个标签和1个文本字段。标签和文本字段都得到了用户的输入。我还有其他观点,其中包含uitableview。我的问题是如何在uitableview中填充单元格?请帮忙。
这是我在tableviewcontroller中的代码。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1; // i want to populate this using 'count' but i dont know how.
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:[CustomCell reuseIdentifier]];
if (cell == nil)
{
[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
cell = _customCell;
_customCell = nil;
}
cell.titleLabel.text = [NSString stringWithFormat:@"%@",titleTextString];
cell.timerLabel.text = [NSString stringWithFormat:@"%@",timerString];
cell.statusLabel.text = [NSString stringWithFormat:@"%@",statusString];
return cell;
}
如果在完成用户输入后按下添加按钮,我如何填充我的tableview?如果你不介意帮我代码,请。我是初学者,通过使用意见我很难理解。
答案 0 :(得分:1)
如果我正确理解了您的问题,您为其中包含2 UILabel
和一个UITextField
的单元格创建了一个自定义nib文件,并且您希望在填充表格时访问这些对象。以下是此问题的一些步骤:
首先,您必须为自定义单元格中的每个对象提供一个tag
个数字。您可以在Interface Builder的Attribute Inspector中找到此属性。假设您给出了第一个标签标签1,第二个标签2和文本字段3。
第二,你必须给一个。此nib文件的标识符,例如MyCustomCellIdentifier
。此标识符稍后将在包含该表的视图中使用,以便您可以链接到该表。
第三,同样在自定义单元格笔尖中,单击显示文件所有者的黄色方块,然后在Identity Inspector中将类更改为具有将使用此自定义单元格的表的类名。
第四,在您拥有将使用自定义单元格的表的类中,创建类型为UITableViewCell
的出口。我们将在自定义nib单元格中链接它。
第五步,转到自定义笔尖单元格,单击单元格窗口,然后在Connections Inspector链接New Referencing Outlet中链接到文件所有者,您将看到在此类表格中创建的插座,只需链接到它
现在,由于建立连接事情更容易,在cellForRowAtIndexPath
函数中(在包含该表的类中肯定),您必须从nib文件加载自定义单元格,如下所示:
static NSString *tableIdentifier = @"MyCustomCellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:tableIdentifier];
if(cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"TheNibClassNameOfYourCustomCell" owner:self options:nil];
if([nib count] > 0) cell = theNameOfTheOutletYouUsed;
else NSLog(@"Failed to load from nib file.");
}
好的,您的自定义单元格已加载到变量cell
中,现在您必须从您创建的代码中访问其中的每个对象:
UILabel *label1 = (UILabel *)[cell viewWithTag:1];
UILabel *label2 = (UILabel *)[cell viewWithTag:2];
UITextField *textField1 = (UITextField *)[cell viewWithTag:3];
现在,您可以轻松地通过label1
,label2
和textField1
访问所有内容label1.text = @"Hi";
我希望这能回答你的问题。