我想通过按下iPad应用程序上的按钮来调整UITableView
中的UIViewController
包含的大小。目标是在后台查看其他UITableView
。该按钮在类中设置了一个标志,并调用一个函数来根据标志调整表的大小。
我必须在按钮上单击三次才能启动表格的大小调整。调整大小在两次工作一次。
有人能帮助我吗?
这是我的代码:
- (void)displayTableView:(BOOL)animated
{
CGFloat filterWidth = self.tableViewFilter.frame.size.width;
CGFloat viewWidth = self.view.frame.size.width;
CGFloat originx = self.showFilters == YES ? filterWidth : 0;
CGFloat originy = 0;
CGFloat width = self.showFilters == YES ? viewWidth - filterWidth : viewWidth;
CGFloat height = self.view.frame.size.height;
if (animated == YES) {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
}
[self.tableView setFrame:CGRectMake(originx, originy, width, height)];
if (animated == YES) {
[UIView commitAnimations];
}
}
感谢您的帮助
答案 0 :(得分:0)
尝试像这样的UIView动画......
- (void)displayTableView:(BOOL)animated
{
CGFloat filterWidth = self.tableViewFilter.frame.size.width;
CGFloat viewWidth = self.view.frame.size.width;
CGFloat originx = self.showFilters == YES ? filterWidth : 0;
CGFloat originy = 0;
CGFloat width = self.showFilters == YES ? viewWidth - filterWidth : viewWidth;
CGFloat height = self.view.frame.size.height;
if (animated == YES)
{
[UIView animateWithDuration:0.5 animations:^{
[self.tableView setFrame:CGRectMake(originx, originy, width, height)];
}];
}
}