Ios 当单元格';她身高增加了吗?

Ios 当单元格';她身高增加了吗?,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我在方法heightforrowtaindexpath中增加单元格的高度,因此,标签将居中。 如何确保无论行的高度如何,label仍位于文本顶部?设置UILabel的autolayouttop属性 编写以下代码: UILabel *myLable = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, width, height)]; [cell.contentView addSubView: myLable]; 如果您还想要myLablefram类似

我在方法
heightforrowtaindexpath
中增加单元格的高度,因此,
标签将居中。

如何确保无论行的高度如何,
label
仍位于文本顶部?

设置
UILabel
autolayout
top属性

编写以下代码:

UILabel *myLable = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, width, height)];
[cell.contentView addSubView: myLable];
如果您还想要
myLable
fram类似于
myLable.text
,请编写

[myLable sizeToFit];

你可以用两种方法来做

  • 创建自定义标签并设置其边框

    UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
    [cell.contentView addSubView:lbl];
    
  • 使用
    UITableViewCell
    子类并覆盖
    -layoutSubviews
    。在这个方法中,您需要调用
    [super layoutSubviews]

    - (void)layoutSubviews {
        [super layoutSubviews];
    
        CGSize size = self.bounds.size;
        CGRect frame = CGRectMake(0.0f, 0.0f, size.width, size.height);
        self.textLabel.frame =  frame;
        self.textLabel.contentMode = UIViewContentModeScaleAspectFit;
     }
    

  • 您不能更改
    textlab
    的位置,因为它是自动调整的

    第一个选项是您需要将UITableViewCell子类化并自定义textLabel框架

    另一种方法是创建自己的自定义标签,并使textlabel为零。因此,每当单元格的高度发生变化时,您的标签位置都不会发生变化。

    尝试以下方法:


    将False设置为自定义单元格的“自动调整子视图大小”属性…

    在分配UITableViewCell时,您需要这样做

    UITableViewCell * cell;
    
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:string];
    
    使用样式初始化时:
    UITableViewCellStyleSubtitle
    将出现


    希望这能起作用。

    在单元格上添加标签,并根据您的要求设置其框架。我这样做了,但它仍然居中。我这样做是为了默认textLabel。