【问题标题】:How to slide in UIView from bottom in Landscape Mode如何在横向模式下从底部滑入 UIView
【发布时间】:2012-09-14 17:35:53
【问题描述】:

我已将 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

【问题讨论】:

    标签: iphone ios xcode animation uiview


    【解决方案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];
        }];
    }
    

    【讨论】:

    • 感谢您的回复!我试过了,但是当我按下按钮时,什么也没有发生。
    • @GinoF 您是否在界面构建器中将 IBOutlet 正确链接到您的 UIView?
    • @GinoF 看起来您在 .h 中声明了 - (IBAction)onGearBag:(id)sender;,但在 .m 中使用了 - (IBAction)onGearBag:(UIButton *)sender; 在 .h 中将 id 替换为 UIButton * 然后重新链接接口中的插座建设者。
    • 我这样做了...但仍然无法正常工作。为此事道歉。任何想法为什么它不起作用?正如你所说,我重新链接了按钮,并确保将 IBOutlet 链接到我的 UIView。
    • @GinoF 只是想一想,新视图中是否有任何东西向您表明它正在移动,一个普通的空视图可能正在移动但您看不到它。无论哪种方式,问题都出在其他地方,我刚刚为您编写并测试了这段代码,它可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多