我正在开发一个 iOS 应用程序,有一些数据是我使用 RestKit 从服务器检索的字符串。数据检索成功,我可以使用 NSlog 打印它。所以我想在下面的 tableviewcell 中查看这些数据。
那么如何实现由我使用 RestKit 从服务器检索到的设备、描述和日期列表填充的 tableviewcell。
提前致谢。
我正在开发一个 iOS 应用程序,有一些数据是我使用 RestKit 从服务器检索的字符串。数据检索成功,我可以使用 NSlog 打印它。所以我想在下面的 tableviewcell 中查看这些数据。
那么如何实现由我使用 RestKit 从服务器检索到的设备、描述和日期列表填充的 tableviewcell。
提前致谢。
使用 xib 创建您的自定义单元格。
@interface YourCustomCell : UITableViewCell
@property(nonatomic, strong) IBOutlet UILabel* deviceNameLbl;
@property(nonatomic, strong) IBOutlet UILabel* desciptionLbl;
@property(nonatomic, strong) IBOutlet UILabel* dateLbl;
@end
@implementation
@synthesize deviceNameLbl ,.......
......
然后在您要显示此单元格的视图控制器中。
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
static NSString* cellIdentifier = @"YourCustomCell";
YourCustomCell *cell = (YourCustomCell*)[tableView dequeueReusableCellWithIdentifier:cellType];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:cellIdentifier owner:nil options:nil];
cell = (YourCustomCell*)[nib objectAtIndex:0];
}
//yourDataArray is a array contains NSDictionary
cell.deviceNameLbl = [[yourDataArray objectAtIndex:indexPath.row]objectForKey@"deviceName"];
cell.desciptionLbl = [[yourDataArray objectAtIndex:indexPath.row]objectForKey@"description"];
cell.dateLbl = [[yourDataArray objectAtIndex:indexPath.row]objectForKey@"date"];
return cell;
}
UITableViewCell
UITableViewController
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
你必须分配/初始化你的班级但正如@FaddishWorm 所说,这需要一些时间
这很容易,但需要一些时间。您需要将后端数据放入数组(或类似的东西) - 在扩展 UITableViewController 的类中,然后将您的 UILabel 连接为插座,在tableView:cellForRowAtIndexPath
函数中,您可以将数据分配给特定索引处的单元格。
cell.deviceDescription.text = [myDataArray objectAtIndex:[indexPath row];
你设置你的单元格高度
tableView.rowHeight=height_you_want;
or
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return your_row_height;
}
在cellForRowAtIndexPath 内部:您可以创建三个 UILabel,修改(背景文本字体颜色大小等)并将它们作为子视图添加到单元格或 cell.contentView
UILabel *lbl=[[UILabel alloc]initWithFrame:CGRectMake(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>)];
lbl.text=@"Your text";
lbl.backgroundColor=[UIColor clearColor];
[cell addSubview:lbl];
//use this accessory type
cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;