0

をドロップダウンするメソッドがありUIViewます。それはうまくいきます。ボタンが 2 回目にタッチされたときにスライドして元に戻すにはどうすればよいですか?

また、アニメーションが既に表示されている場合にアニメーションを繰り返さないように、何らかの方法で非アクティブ化する必要があります。

- (void)slideDownTableView {

    self.tableViewCities = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];

    self.tableViewCities.frame = CGRectMake(0,0,300,180);
    self.tableViewCities.autoresizingMask = ( UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth );
    self.tableViewCities.dataSource = self;
    self.tableViewCities.delegate = self;
    self.tableViewCities.backgroundColor = [UIColor whiteColor];


    UIView *myview=[[UIView alloc] initWithFrame: CGRectMake(10, 0,300,180)];
    myview.backgroundColor=[UIColor redColor];

    [myview addSubview:self.tableViewCities];

    [self.view addSubview:myview];
    myview.frame = CGRectMake(10, 0,300,-180); // offscreen

        [UIView animateWithDuration:0.5
                         animations:^{
                             myview.frame = CGRectMake(10, 0,300,180); // final location move
                         }];
}
4

5 に答える 5