diz*_*izy 18 iphone objective-c uitableview
如果我尝试设置a tableView(ex :)的帧高度的height -= 200动画,则在帧的平滑动画完成之前,最后200px中出现的单元格会突然消失.
为了确保我正在做的其他事情,我创建了一个新的基于视图的应用程序.在主要的viewController我创建我自己tableview足以pseudo rows填满整个屏幕.在选择一行时,我会做一个简单的高度动画.
最相关的代码:
- (void)viewDidLoad {
[super viewDidLoad];
self.myTable = [[[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)] autorelease];
myTable.delegate = self;
myTable.dataSource = self;
[self.view addSubview:myTable];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
CGRect frame = self.myTable.frame;
frame.size.height = 200;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelay:.5f];
[UIView setAnimationDuration:0.5f];
self.myTable.frame = frame;
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会这样,或者修复/解决方法可能是什么?
任何建议真的很感激.TIA!
ryy*_*yst 15
我不确定我是否有完全相同的问题,但使用了[UIView setAnimationBeginsFromCurrentState:YES];解决的(部分)故障(我的表格视图在动画帧高度变化时疯狂滑动).
这里也有同样的问题.这就是我正在做的事情并且原点动画平滑,但是尺寸立即变化......很烦人.
[UIView beginAnimations:@"HideTabbar" context:nil];
[UIView setAnimationDuration:.3];
self.tableView.frame = CGRectMake(0.0, 44.0, 320, 366);
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
更新:尝试在动画之前添加:
self.tableView.autoresizingMask = UIViewAutoresizingNone;
Run Code Online (Sandbox Code Playgroud)
小智 0
我在寻找调整 tableView 大小的正确方法时发现了您的问题。我认为你的问题在于你指定的动画UIView而不是UITableView. 我无法使用 或 复制您的问题UIView,UITableView但我使用的是SDK 3.1,这可能是自您发布帖子以来已修复的错误。我不确定,但我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
6938 次 |
| 最近记录: |