我使用此代码在单元格内创建图像:
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"CellIdentifier"] autorelease];
switch (indexPath.row) {
...
case 5:
cell.imageView.image = [UIImage imageNamed:@"Search.png"];
break;
default:
break;
}
return cell;
}
如何使图像在单元格中居中?我必须继承 UITableViewCell 吗?
如果您不使用提供的 cell.imageView 而是向单元格添加新的 UIImageView,则可以执行此操作。在
cellForRowAtIndexPath
中的适当位置尝试类似的操作:
UIImageView *newImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Search.png"]];
newImageView.center = cell.center;
[cell addSubview:newImageView];
更好、更有效的方法是使用 Custom UITableViewCell。所以在功能上,你可以轻松自定义TableViewCell。
您可以通过代码和界面生成器来完成此操作。
cell.imageView.center = cell.center;
我知道,这个问题是 10 多年前提出的,Swift 语法非常不同,但以防万一,如果有人现在找到它(就像我们所做的那样,寻找相同的东西), 这对我们有用:
创建仅由图像组成的属性字符串
let image = ImagesForXTMTPositiveFunction (Dimension: DirectoryTable.ImageDimension)
let attachment = NSTextAttachment()
attachment.image = image
let imageString = NSMutableAttributedString(attachment: attachment)
myDirectoryTable.myAttributedDataSource.append(imageString)
重新加载 tableView 单元格时,将其内容居中(第 3 行)并将属性字符串放入单元格标签中(第 4 行)
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
........................
cell.textLabel?.numberOfLines = 0
cell.textLabel?.lineBreakMode = .byWordWrapping
cell.textLabel?.textAlignment = .center
cell.textLabel?.attributedText = myDirectoryTable.myAttributedDataSource [indexPath.row]
........................
}