0

UIViewをIBの別の「メイン」ビューに追加しました。私のアプリケーションはランドスケープモードのみです。ボタンを押すだけで、この他のUIViewが下からスライドするようにしたいと思います。そのため、現在は画像にはまったく表示されていませんが、ボタンを押すと、ビューが下から表示され、所定の位置にスライドします。後で、トグルと同じボタンを使用して、UIVIewをスライドさせて元に戻します。UIViewは画面のサイズではありません。そうでない場合は、モーダルで表示します。

これは私が試したコードです:

.m

-(IBAction)onGearBag:(UIButton *)sender
{

    [sender setEnabled:NO];
    [UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
        if (gearBag.transform.ty == 0) {
            [gearBag setTransform:CGAffineTransformMakeTranslation(0, -400)];
        }else{
            [gearBag setTransform:CGAffineTransformMakeTranslation(0, -200)];
        }
    }completion:^(BOOL done){
        //some completion handler
        [sender setEnabled:YES];
    }];
}

.h

@interface MyEquipmentViewController : PFViewController
{
    IBOutlet UIView *gearBag;
}
@property (strong, nonatomic) TabsTopBar *topbar;
- (IBAction)onPopoverButton:(UIButton *)sender;
- (IBAction)actionHelp:(id)sender;
- (IBAction)onGearBag:(id)sender;
@end

.h

@interface MyEquipmentViewController : PFViewController
{
    IBOutlet UIView *popoverInitAlert;
    __unsafe_unretained IBOutlet UIImageView *imageView;
    IBOutlet UIView *gearBag;
}

@property (strong, nonatomic) TabsTopBar *topbar;
- (IBAction)onPopoverButton:(UIButton *)sender;
- (IBAction)actionHelp:(id)sender;
- (IBAction)onGearBag:(id)sender;
@end
4

1 に答える 1

1

シンプルなビュー アニメーション:

- (IBAction)myIBAction:(UIButton *)sender
{
    [sender setEnabled:NO];
    [UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
        if (mySecondView.transform.ty == 0) {
            [mySecondView setTransform:CGAffineTransformMakeTranslation(0, -400)];
        }else{
            [mySecondView setTransform:CGAffineTransformMakeTranslation(0, 0)];
        }
    }completion:^(BOOL done){
        //some completion handler
        [sender setEnabled:YES];
    }];
}
于 2012-09-22T15:39:22.357 に答える