1

我想通过按下 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];
    }
}

谢谢您的帮助

4

1 回答 1

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)];
         }];

    }
}
于 2013-03-04T12:59:41.767 回答