如何使 UITableViewCell 中的图像居中?

问题描述 投票:0回答:4

我使用此代码在单元格内创建图像:

- (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 吗?

ios uitableview uiimage
4个回答
3
投票

如果您不使用提供的 cell.imageView 而是向单元格添加新的 UIImageView,则可以执行此操作。在

cellForRowAtIndexPath
中的适当位置尝试类似的操作:

    UIImageView *newImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Search.png"]];
    newImageView.center = cell.center;
    [cell addSubview:newImageView];

1
投票

更好、更有效的方法是使用 Custom UITableViewCell。所以在功能上,你可以轻松自定义TableViewCell。

您可以通过代码和界面生成器来完成此操作。

使用 Interface Builder 自定义 UITableViewCell

为 UITableView 自定义表格视图单元格


0
投票
cell.imageView.center = cell.center;

0
投票

我知道,这个问题是 10 多年前提出的,Swift 语法非常不同,但以防万一,如果有人现在找到它(就像我们所做的那样,寻找相同的东西), 这对我们有用:

  1. 创建仅由图像组成的属性字符串

     let image = ImagesForXTMTPositiveFunction (Dimension: DirectoryTable.ImageDimension)
     let attachment = NSTextAttachment()
     attachment.image = image
     let imageString = NSMutableAttributedString(attachment: attachment)
     myDirectoryTable.myAttributedDataSource.append(imageString)
    
  2. 重新加载 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]
         ........................
     }
    
© www.soinside.com 2019 - 2024. All rights reserved.