我无法从角落扩展UITable。
这就是我的所作所为:
tableAccounts = [[UITableView alloc] initWithFrame:CGRectMake(0, 71, 0,0)];
[self.view addSubview:tableAccounts];
[UIView beginAnimations:@"tableAppearing" context:nil];
[UIView setAnimationDuration:3.0f];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
tableAccounts.frame = CGRectMake(0, 71, 320, 332);
tableAccounts.backgroundColor = [UIColor redColor];
[UIView commitAnimations];
我可以看到左上角出现的表格,但没有展开!我的意思是表格永远不会改变它的大小,它总是大小相同而且它正在出现。 我想要相同的效果,但从一张小桌子开始,然后变得更大。
有可能吗?
答案 0 :(得分:2)
您应该可以通过将缩放变换应用于tableview并从角落移动来实现。以下内容应从右下角开始。
CGRect frame = self.view.frame;
int width = CGRectGetWidth(frame);
int height = CGRectGetHeight(frame);
// Make the frame the size you want in the end and place it centered on the corner.
CGRect startTvFrame = CGRectMake(width / 2, height / 2, width, height);
UITableView *tableView = [[UITableView alloc]initWithFrame:startTvFrame];
// Scale the view so that it starts out small
CGAffineTransform t = CGAffineTransformMakeScale(.001, .001);
tableView.transform = t;
[self.view addSubview:tableView];
// Animations
[UIView animateWithDuration:3.0f
delay:0.0f
options:UIViewAnimationCurveLinear
animations:^{
// Reset the scale
tableView.transform = CGAffineTransformMakeScale(1, 1);
// Position the tableview
CGRect tvFrame = tableView.frame;
tvFrame.origin.x = 0;
tvFrame.origin.y = 0;
tableView.frame = tvFrame;
}
completion:nil];
[tableView release];