1

iPad アプリケーションのボタンを押して、UITableViewコンテインのサイズを変更したいと考えています。UIViewController目標はUITableView、バックグラウンドで他の人を見ることです。ボタンはクラスにフラグを設定し、フラグに応じてテーブルのサイズを変更する関数を呼び出します。

テーブルのサイズ変更を開始するには、ボタンを 3 回クリックする必要があります。サイズ変更は2回で1回です。

誰か助けてくれませんか?

これは私のコードです:

- (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 に答える