我需要在同一张图片中绘制一个表格视图:
我需要在cellForRowAtIndexPath
方法中添加什么内容?因为我创建了包含数据的NSArray
,但它显示为列表:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.textLabel.font = [UIFont systemFontOfSize:15];
//cell.textLabel.textAlignment = UITextAlignmentCenter;
}
cell.textLabel.text =[list objectAtIndex:indexPath.row];
cell.textLabel.textColor = [UIColor colorWithRed:0.255 green:0.239 blue:0.239 alpha:1];;
UITableViewCell *cell1 = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell1.textLabel.text =[list objectAtIndex:indexPath.row];
cell1.textLabel.textColor = [UIColor colorWithRed:0.255 green:0.239 blue:0.239 alpha:1];;
UIView * v = [[UIView alloc] init];
v.backgroundColor = [UIColor grayColor];
cell.selectedBackgroundView = v;
return cell;
}
答案 0 :(得分:0)
据我所知,我知道您希望显示一个数据网格(来自您提供的图片),这在iOS中无法快速/完美地完成。
肮脏的方法是自定义UITableViewCell,使1个单元格= 1行并尝试使所有内容呈现在应该的位置。
很好但很长的方法是使用UICollectionView。您需要自定义流程布局,这将是非常耗时的。
答案 1 :(得分:0)
你应该是UITableViewCell的子类 - > CustomCell
CustomCell.h - >添加一些字符串属性(Name,Addr,Phone,id) - >添加一些标签(UILabel * lblName,lblAddr, lblPhone,lblid)
CustomCell.m - > @synthesize属性
创建网格图像并将其加载到表格后面 使表透明 使细胞透明 ...
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.lblName = [UILabel alloc] initWithFrame:(CGRectMake(x,y,w,h)) // enter values to correspond with your picture
//... do the same for other controls in your custom cell
//cell.textLabel.textAlignment = UITextAlignmentCenter;
}
NSDictionary *dicData = [arElements objectAtIndex:indexPath.row];
[cell.lblName setText:[dicData valueForKey:@"name"]];
// ... do the same for all properties
return cell;
}
在基础知识中就是这样,如果你想要你可以在笔尖中创建单元格,那么只有控件的内容应该比IBOutlets更好而且你不会有
if (cell == nil) {
cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.lblName = [UILabel alloc] initWithFrame:(CGRectMake(x,y,w,h)) // enter values to correspond with your picture
//... do the same for other controls in your custom cell
//cell.textLabel.textAlignment = UITextAlignmentCenter;
}
阻止,因为它将从xib加载...