Iphone 编辑时如何在UITableViewCell中缩进自定义uilabel

Iphone 编辑时如何在UITableViewCell中缩进自定义uilabel,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我有一个自定义的uitableviewcell,我想在启用此选项时缩进它: [self.boatsDisplay setEditing:是动画:是] 谁能给我一个提示或一些指导 谢谢您将需要子类化UITableViewCell并覆盖-layoutSubviews。当单元格的编辑位设置为“是”时,将自动调用-layoutSubviews。在-layoutSubviews中所做的任何更改都会自动设置动画 以这个例子为例 - (void)layoutSubviews { [super layo

我有一个自定义的uitableviewcell,我想在启用此选项时缩进它:

[self.boatsDisplay setEditing:是动画:是]

谁能给我一个提示或一些指导


谢谢

您将需要子类化
UITableViewCell
并覆盖
-layoutSubviews
。当单元格的编辑位设置为“是”时,将自动调用
-layoutSubviews
。在
-layoutSubviews
中所做的任何更改都会自动设置动画

以这个例子为例

- (void)layoutSubviews
{
    [super layoutSubviews];
    CGFloat xPosition = 20.0f; // Default text position

    if (self.editing)
        xPosition = 40.0f;

    CGRect textLabelFrame = self.textLabel.frame;
    textLabelFrame.origin.x = xPosition;
    self.textLabel.frame = textLabelFrame;
}

您需要子类化
UITableViewCell
并覆盖
-layoutSubviews
。当单元格的编辑位设置为“是”时,将自动调用
-layoutSubviews
。在
-layoutSubviews
中所做的任何更改都会自动设置动画

以这个例子为例

- (void)layoutSubviews
{
    [super layoutSubviews];
    CGFloat xPosition = 20.0f; // Default text position

    if (self.editing)
        xPosition = 40.0f;

    CGRect textLabelFrame = self.textLabel.frame;
    textLabelFrame.origin.x = xPosition;
    self.textLabel.frame = textLabelFrame;
}

UITableViewDelegate
中,可以使用
tableView:indentationlevelforrowatinexpath:
方法:

- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath {
  if(tableView.editing == YES){
    return 1; // or higher integer
  } else {
    return 0;
  }
}

如果只想检查自定义单元格,则可以在if条件中添加
&&[[tableView CellForRowatineXpath:indexPath]类:yourTableViewCell]

UITableViewDelegate
中,可以使用
tableView:IndentationLevelForRowatineXpath:
方法:

- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath {
  if(tableView.editing == YES){
    return 1; // or higher integer
  } else {
    return 0;
  }
}
如果只想检查自定义单元格,则可以在if条件中添加
&&[[tableView cellForRowAtIndexPath]isKindOfClass:yourTableViewCell]