Ios 如何设置UILabel相对于单元格中图像的位置
我已经创建了一个自定义单元格,Ios 如何设置UILabel相对于单元格中图像的位置,ios,objective-c,uitableview,uilabel,Ios,Objective C,Uitableview,Uilabel,我已经创建了一个自定义单元格,MatchCenterCell,在其中我创建了一个名为priceLabel的UILabel,它位于UITableView中的一个单元格内。当前的设置方式如下所示: - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuse
MatchCenterCell
,在其中我创建了一个名为priceLabel
的UILabel
,它位于UITableView
中的一个单元格内。当前的设置方式如下所示:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
self.PriceLabel = [[ UILabel alloc]initWithFrame:CGRectMake(90, 35, 70, 40)];
}
return self;
}
但是,这会导致问题,因为每个单元格的图像大小不同,因此x坐标为90意味着有时它会错位,如下面的“最佳匹配”标签所示:
如何使x坐标相对于单元格.imageView
对齐textlab
和detailtextlab
上方的方式 您可以按注释中的建议使用,也可以按如下方式替代布局子视图:
- (void)layoutSubviews()
{
[super layoutSubViews];
self.detailTextLabel.y = 0;
self.detailTextLabel.x = self.imageView.right + 10;
self.detailTextLabel.height = self.contentView.height;
self.detailTextLabel.width = self.contentView.width - self.detailTextLabel.x;
}
上面使用的方法在进行自定义布局时添加了一些方便的方法 @rdelmar说了些什么。您可以直接向标签添加约束,以确保它相对于图像处于垂直和水平居中位置。但My
UITableView
是通过编程方式初始化的,而不是通过故事板。在这种情况下,我将如何使用自动布局?我将把您发布的代码放在哪里?您仍然可以通过编程方式使用auto layout,但上面的示例不是auto layout,而是覆盖自定义单元格中的LayoutSubView。