0

字面上地!无法理解为什么。这是我的代码伙计们:

_tableOne_cloned = [_tableOne mutableCopy];

[_tableOne_cloned setFrame:CGRectMake(-320.0f, [_tableOne frame].origin.y, [_tableOne frame].size.width, [_tableOne frame].size.height)];

[[self view] insertSubview:_tableOne belowSubview:_bottomActionBar];

[UIView animateWithDuration:2.5 animations:^{
    [_tableOne setFrame:CGRectMake(-320.0f, [_tableOne frame].origin.y, [_tableOne frame].size.width, [_tableOne frame].size.height)];
}];

事情很简单:我的屏幕上有一个 UITableView。当我按下某个 UIButton 时,UITableView 必须消失,另一个会从左侧出现。

但是,这是行不通的。如果我删除要添加新表的行,则效果很好。

注意: UITableView 不符合 NSCopying 协议,但我创建了一个扩展来支持它。

有任何想法吗?

4

1 回答 1

0

当您想从左侧对其进行动画处理时

 [UIView animateWithDuration:2.5 animations:^{

    [_tableOne setFrame:CGRectMake(-320.0f, [_tableOne frame].origin.y, [_tableOne frame].size.width, [_tableOne frame].size.height)];

}completion:^(BOOL finished) {
     [_tableOne setFrame:CGRectMake(+320.0f, [_tableOne frame].origin.y, [_tableOne frame].size.width, [_tableOne frame].size.height)];

    [UIView animateWithDuration:2.5 animations:^{
        [_tableOne setFrame:CGRectMake(0.0f, [_tableOne frame].origin.y, [_tableOne frame].size.width, [_tableOne frame].size.height)];
    }];

}];
于 2013-05-30T11:19:03.127 回答