在目标C中滑入视图

时间:2013-02-21 08:01:00

标签: objective-c jquery-animate

编辑:哇,我真是个白痴。为了使它易于理解,我想解释一下facebook原生应用程序的功能。当你触摸右上角和左上角时,中间部分向左或向右移动,显示侧栏菜单

我有一个phonegap应用程序,在右上角有一个按钮。以下面的代码作为参考。

Portion of HTML:

<body>
<div id="header"><!--Button goes here--></div>
<div id="menu">
    <ul>
        <li> Option 1</li>
        <li> Option 2</li>
    </ul> 
</div>
<div id="page">
     Some contents in the page.
</div>
</body>

Javascript:
var move,x=0; //global vars

function buttonTouched() { //code for button ontouchstart event
    move = $("#menu").css('width');
    if(x==0) {
        $("#menu").animate({'left':'-='+move},'250');
        $("#page").animate({'left':'-='+move},'250');
        x=1;
    }
    else if(x==1) {
        $("#menu").animate({'left':'+='+move},'250');
        $("#page").animate({'left':'+='+move},'250');
        x=0;
    }
}

当您触摸按钮时,“menu”div向左滑动(使用jquery动画),“page”div的一部分向左滑动。如何使用具有动画效果的目标C代码在本机应用程序中复制此效果?

由于

1 个答案:

答案 0 :(得分:1)

看看UIView animateWithDuration类方法。

让我们说你的菜单只是一个名为menuView的UIView,放在你的viewcontroller的屏幕外。然后你可以做这样的事情:

[UIView animateWithDuration:0.6
                          delay:0.0
                        options:UIViewAnimationCurveEaseOut
                     animations:^{
                         CGRect oldFrame = self.view.frame;
                         xOffset = menuView.frame.width;
                         self.view.frame = CGRectOffset(oldFrame, xOffset, 0);
                     }];