0

编辑:哇,我真是个白痴。为了让它很容易理解,我想解释一下 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;
    }
}

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

谢谢

4

1 回答 1

1

看看 UIView animateWithDuration类方法。

假设您的菜单只是一个名为 menuView 的 UIView,并且放置在您的视图控制器中的屏幕外。然后你可以做这样的事情:

[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);
                     }];
于 2013-02-21T08:38:30.867 回答