2014-02-22 53 views
0

我已经实现了一些专门的表格编辑,删除,但是当UITableViewCell子类进入编辑模式时,它不会“移动”单元的内容。UITableViewCell在进入编辑模式时不滚动内容

过去,我在将子视图添加到单元格而不是contentView时遇到过这种情况,但在这种情况下,所有子视图确实都在单元格的contentView上。

这是一个在界面构建器中创建的单元格。

任何人都知道这个问题的解决方法?

谢谢!

下面是相关递归描述:

| | | | | | | | | <DDPaymentCardCell: 0x125e6c690; baseClass = UITableViewCell; frame = (0 35; 320 44); autoresize = W; gestureRecognizers = <NSArray: 0x17805b660>; layer = <CALayer: 0x1782240e0>> 
    | | | | | | | | | | <UITableViewCellScrollView: 0x125e6c990; frame = (0 0; 320 44); autoresize = W+H; gestureRecognizers = <NSArray: 0x178241920>; layer = <CALayer: 0x17822a4c0>; contentOffset: {82, 0}> 
    | | | | | | | | | | | <UITableViewCellDeleteConfirmationView: 0x1781ac400; frame = (320 0; 82 44); layer = <CALayer: 0x17803dd40>> 
    | | | | | | | | | | | | <UITableViewCellDeleteConfirmationButton: 0x125e50f30; frame = (0 0; 82 43.5); opaque = NO; autoresize = LM; layer = <CALayer: 0x17803dec0>> 
    | | | | | | | | | | | | | <UILabel: 0x125e32880; frame = (15 11; 52 22); text = 'Delete'; userInteractionEnabled = NO; layer = <CALayer: 0x17822ce20>> 
    | | | | | | | | | | | <UITableViewCellContentView: 0x178174c40; frame = (38 0; 282 43.5); opaque = NO; gestureRecognizers = <NSArray: 0x178240180>; layer = <CALayer: 0x17822c840>> 
    | | | | | | | | | | | | <UILabel: 0x125e3cb40; frame = (100 11; 227 21); text = 'Ending in 4242'; clipsToBounds = YES; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x17803fe00>> 
    | | | | | | | | | | | | <UIImageView: 0x125e19620; frame = (61 12; 32 20); opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x1782256a0>> 
    | | | | | | | | | | | | <UILabel: 0x125e55e90; frame = (248 11; 86 21); text = 'Exp 4/2024'; clipsToBounds = YES; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x178229740>> 
    | | | | | | | | | | | <_UITableViewCellSeparatorView: 0x178191100; frame = (82 43.5; 320 0.5); layer = <CALayer: 0x17822bd20>> 
    | | | | | | | | | | | <_UITableViewCellSeparatorView: 0x170190b50; frame = (82 0; 320 0.5); layer = <CALayer: 0x170236e00>> 
    | | | | | | | | | | | <UITableViewCellEditControl: 0x125d2f370; frame = (0 0; 47 44); opaque = NO; layer = <CALayer: 0x17023d360>> 
    | | | | | | | | | | | | <UIImageView: 0x125d31640; frame = (12 14; 22 22); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x170232300>> 
    | | | | | | | | | | | | <UIImageView: 0x125d20c20; frame = (12 12; 22 22); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x17023acc0>> 
+0

一些代码

[self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.priceLabel attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeRight multiplier:1.0 constant:-kCellRightMargin]]; 

Eveything将工作/截图将是很好。并且在crapshoot中,您是否添加了自动布局约束/自动调整掩码? – Can

+0

@Can Autolayout约束也应该是针对内容视图,所以理论上不应该是这样的问题。 –

+0

Sean,你可以输入编辑,重现bug,点击暂停,并发布'po [[UIApplication sharedApplication] .keyWindow recursiveDescription]'的调试输出。谢谢 –

回答

0

对于它的价值,答案是要确保你能正确地使用自动版式。如果添加约束:根据需要

相关问题