gpt4 book ai didi

ios - 在 UITableView 中居中图像

转载 作者:行者123 更新时间:2023-11-29 12:56:16 25 4
gpt4 key购买 nike

我在将 UITableViewCell 中的图像居中时遇到了很多问题。我花了无数个小时尝试 stack overflow 以及无数其他网站上列出的所有解决方案。我的文字将居中,但由于某种原因我的图像不会居中并且表格左侧有一条白线,我也无法摆脱它。(根据我在 iOS 文档中阅读的内容,这是iOS 7 中的新功能,但人们已经让它消失了)我已经通过编程方式和检查器将所有插图设置为零。我正在使用核心数据检索图像,效果很好,只是我的图像无法居中。

这是我的 tableViewCell 方法

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}

// Configure the cell...
NSManagedObject *moment = [self.moments objectAtIndex:indexPath.row];
cell.textLabel.text = [NSString stringWithFormat:@"%@", [moment valueForKey:@"name"]];
UIImage *cellImage = [UIImage imageWithData:[moment valueForKey:@"image"]];
cell.imageView.image = cellImage;
cell.textLabel.textAlignment = NSTextAlignmentCenter;
cell.textLabel.textColor = [UIColor whiteColor];



return cell;
}

除此之外,我似乎无法让我的标签超出图像,这是另一个问题。但是我为解决这个问题所做的是制作一个自定义单元格子类,但没有用。我没有资源和想法来解决这个问题。

编辑自定义子类所以我可能对 UITableViewCell 的自定义子类有错误的想法。但我所做的是在名为 customCell 的类中创建一个类,其中包含两个变量,一个用于 UIImageView,另一个用于标签。然后在主 TableView 中我这样调用它们:

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}

// Configure the cell...
NSManagedObject *moment = [self.moments objectAtIndex:indexPath.row];
//cell.textLabel.text = [NSString stringWithFormat:@"%@", [moment valueForKey:@"name"]];
//UIImage *cellImage = [UIImage imageWithData:[moment valueForKey:@"image"]];
//cell.imageView.image = cellImage;
//cell.textLabel.textAlignment = NSTextAlignmentCenter;
//cell.textLabel.textColor = [UIColor whiteColor];
CustomCell *customCell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
[customCell.cellTitle setText:[NSString stringWithFormat:@"%@", [moment valueForKey:@"name"]]];
[customCell.cellImage setImage:[UIImage imageWithData:[moment valueForKey:@"image"]]];



return cell;
}

然后简单地在自定义单元格类中,我将标签和图像连接到 IBOutlet 并合成它们。

编辑 2 个自定义子类添加

头文件有两个属性。一个用于 cellTitle,它是一个 UILabel,一个用于 cellImage,它是一个 UIImageView。

@interface CustomCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UIImageView *cellImage;
@property (weak, nonatomic) IBOutlet UILabel *cellTitle;

实现文件:

这里我只是合成了两个对象。

@synthesize cellImage;
@synthesize cellTitle;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];

// Configure the view for the selected state
}

最佳答案

CustomCell *customCell = (CustomCell *)[tableView 
dequeueReusableCellWithIdentifier:CellIdentifier];
[customCell.cellTitle setText:[NSString stringWithFormat:@"%@",
[moment valueForKey:@"name"]]];
[customCell.cellImage setImage:
[UIImage imageWithData:[moment valueForKey:@"image"]]];
return cell;

我相信您返回的是默认的 cell,而不是 customCell

关于ios - 在 UITableView 中居中图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21001343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com