Objective c 在基于Nib的自定义表格单元格类中移动UITableView单元格内容(子视图),以响应启用编辑模式并显示重新排序控件

Objective c 在基于Nib的自定义表格单元格类中移动UITableView单元格内容(子视图),以响应启用编辑模式并显示重新排序控件,objective-c,uitableview,ios5,Objective C,Uitableview,Ios5,我有一个自定义的表格单元格,现在,它都是基于Nib的。当我进入编辑模式时,编辑附件视图通过向左设置动画为重新排序控件腾出空间 但是,我的表格单元格中有一个自定义视图保持不变。在单元格内,您自己的自定义UIView似乎保持原样。我已经习惯于看到表格单元格内容的变化,我几乎认为这是自动处理的(也许是这样,我没有连接到那个设施) 作为补偿,当在表格单元格上进入/退出编辑模式时,我只是在自定义子视图上应用了一个转换。这一切都是可行的,但我想知道我是否在尽我所能做到最好 最后,我可能会转向纯drawRec

我有一个自定义的表格单元格,现在,它都是基于Nib的。当我进入编辑模式时,编辑附件视图通过向左设置动画为重新排序控件腾出空间

但是,我的表格单元格中有一个自定义视图保持不变。在单元格内,您自己的自定义UIView似乎保持原样。我已经习惯于看到表格单元格内容的变化,我几乎认为这是自动处理的(也许是这样,我没有连接到那个设施)

作为补偿,当在表格单元格上进入/退出编辑模式时,我只是在自定义子视图上应用了一个转换。这一切都是可行的,但我想知道我是否在尽我所能做到最好

最后,我可能会转向纯drawRect:cells,但除此之外,在纯基于Nib的表单元格构造中,进行这些调整的最佳实践是什么?布局子视图中的条件放置集

这是我对自定义表格单元格类的编辑方法的重写,以及我希望滑入的视图(“统计库视图”)的图像

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
    [super setEditing:editing animated:animated];

    CGAffineTransform transformToApply = (self.isEditing ? 
        CGAffineTransformMakeTranslation(-38, 0) : CGAffineTransformIdentity);

    RPExerciseSetTableCellBase *capturedSelf = self;
    [UIView animateWithDuration:(animated ? 0.25f : 0.0f) 
                          delay:0.0f 
                        options:UIViewAnimationOptionCurveEaseInOut 
                     animations:^{
                         capturedSelf.middleStatsBackgroundImageView.transform = 
                            transformToApply;
                     } 
                     completion:^(BOOL finished) {
                         // Nothing to do as yet.
                     }];
}
以下是Nib中的布局:


总之,我的问题是:对于纯基于Nib的单元格,为响应出现的重新排序控件,重新排列单元格的自定义内部子视图的最佳做法是什么(以及为什么?

根据表是否正在编辑,在
-layoutSubviews
中进行更改。此处所做的任何更改都会自动为您设置动画