0

ボタンをクリックすると、次のコードを使用して、アプリのメイン ビューに日付ピッカー ビューを追加します。

- (IBAction)CalenderButton_Click:(id)sender
{
// code to add date picker -mydatepicker

//animating


    [self.view addSubview:myPicker];


    CGRect onScreenFrame=myPicker.frame;
     CGRect offScreenFrame=onScreenFrame;
     offScreenFrame.origin.y=self.view.bounds.size.height;
     myPicker.frame=offScreenFrame;
     [UIView beginAnimations:nil context:nil];
     [UIView setAnimationDuration:0.5f];
     myPicker.frame=onScreenFrame;
     [UIView commitAnimations];

}

私が実装する必要がある2つのことは、

1.このコードはビューを下からアニメーション化しますが、上からアニメーション化するにはどうすればよいですか??

2.ボタンをクリックして日付ピッカーを再度追加する場合は、ビューが既に追加されているかどうかを確認し、追加されている場合はサブビューを削除する必要があります。

前もって感謝します

4

1 に答える 1

2

質問番号 2 の場合: ブール値を使用して、日付ピッカーが既にビューにあるかどうかを確認します。 isSubViewBOOLチェックすることです、あなたmyPickerはサブビューにあります。

更新しました:

- (IBAction)CalenderButton_Click:(id)sender
{

//animating

   if(!isSubview){
      isSubview = YES;
      [self.view addSubview:myPicker];
 /*    
      CGRect onScreenFrame=myPicker.frame;
      CGRect offScreenFrame=onScreenFrame;
      offScreenFrame.origin.y=self.view.bounds.size.height;
      myPicker.frame=offScreenFrame;
      [UIView beginAnimations:nil context:nil];
      [UIView setAnimationDuration:0.5f];
      myPicker.frame=onScreenFrame;
      [UIView commitAnimations];
 */    

// to slide your view from the top
     [myPicker setFrame:CGRectMake(0, -200, 320, 200)];
     [myPicker setBounds:CGRectMake(0, 0, 320, 200)];

     [UIView beginAnimations:nil context:NULL];
     [UIView setAnimationDuration:0.5f];
     [myPicker setFrame:CGRectMake(0, 0, 320, 200)];
     [UIView commitAnimations];

    }else{
      isSubview = NO;
      [myPicker removeFromSuperView];
    }
}
于 2012-10-30T04:50:59.107 に答える