ios7中的自定义侧边栏

时间:2014-10-12 06:47:40

标签: ios uiviewanimation sidebar

我是iOS开发的新手,面临的问题很少。我不知道这种方法的好坏,但我不想使用任何第三方。我想像侧边栏那样制作侧边栏,我的代码是

- (IBAction)basicProfile:(id)sender {

    menuViewController *destVC = [self.storyboard instantiateViewControllerWithIdentifier:@"menuView"];


    CATransition *animation = [CATransition animation];
    [animation setDuration:0.5];
    [animation setType:kCATransitionPush];
    [animation setSubtype:kCATransitionFromLeft];
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
    CGRect view = self.view.frame;
    view.origin.x = 280;




    if(self.view.frame.origin.x > 100 )
    {
        [UIView beginAnimations:nil context:(__bridge void *)(self.scrollView)];
        [UIView setAnimationDuration:0.25];
        NSLog(@"%f", self.view.frame.origin.y);
        self.view.frame = CGRectMake(0,0,320,568);
        [UIView commitAnimations];

    }

    else{
        [self.showView setHidden:NO];
    [UIView beginAnimations:nil context:(__bridge void *)(self.scrollView)];
    [UIView setAnimationDuration:0.25];
    NSLog(@"%f", self.view.frame.origin.y);
    self.view.frame = CGRectMake(280,0,320,568);
    [UIView commitAnimations];
        [self.view addSubview:destVC.view]; // this line added menuView to profile view but not on sidebar 
    }
}

我在storyborad中有两个uiview,一个是profile,另一个是menuViewController.why menuView没有正确加载 result of above code

2 个答案:

答案 0 :(得分:0)

步骤01:基本上你需要的是一个viewController和2个视图(1个用于侧边栏,另一个用于主视图。)

步骤02:您可能需要将这两个视图添加到视图控制器。

步骤03:然后使用以下内容添加按钮进行切换:

-

(void)OnCollapsibleExtenderTouchUpInside
{
   [UIView animateWithDuration:1.0 animations:^{

    [sideBarObj ToggleVuPosition];

    [mainVuObj ToggleVuSize];

 }];

}

注意:已经有关于堆栈溢出的解释

你可以关注这个: Sidebar menu implementation on iOS like Facebook?

如果您的要求不同,请发表评论。

答案 1 :(得分:0)

有两种方法可以做到这一点:

  1. 在同一个控制器上使用2个UIViews。您可以将ViewView与视图一起添加,并将其初始隐藏起来。使用按钮切换以显示/隐藏菜单。就像xview.hidden = TRUE / xview.hidden = FALSE来显示/隐藏视图一样。您可以使用动画为其提供外观等菜单。

  2. 为MenuDisplay使用不同的视图控制器并将其添加到当前视图控制器,如[xview addsubView:menuview.view]和[menuview.view removefromsuperview]