2014-12-05 2 views
0

나는 facebook 측면 패널과 마찬가지로 iPad 용으로 viewControllers 두 개를 가지고 있습니다. 센터 viewController에있는 버튼을 클릭하면 전환되는 LeftViewController이 있습니다. CenterViewController 상단에 있습니다. 그러나 centerViewController의 50 % 만 차지합니다.중첩 된 UINavigationController에 대한 최선의 접근 방법

왼쪽에 새로운보기를 추가 할 수 있어야합니다. viewController을 밀 수 있습니다.

이것을 달성하는 가장 좋은 방법은 무엇입니까?

+0

이해가 안되나요? 슬라이드 사이드 바가 슬라이드 아웃 되었습니까? –

+0

예. 나는 밀어 넣을 수 있어야하고 뷰 사이에서 팝 할 수 있어야 슬라이드 사이드 바 있습니다. –

+0

사이드 바 메뉴가있는 서랍 컨트롤러를 찾고 계십니까? 이 링크처럼 https://www.cocoacontrols.com/controls/mmdrawercontroller--2 – Esha

답변

1

이 링크

Sliding Drawers

[SideMenus]

이 다른 서랍과 신속한에서 몇도 포함을 확인하시기 바랍니다. 이 링크가 도움이 될 수 있습니다.

+1

예 @kampai하지만 어떤 사용자가 더 나은 라이브러리를 알고 싶다면 사용자에게 도움이되는 것에 대한 대답 링크가 있어야합니다. 우리는 여기에있는 자식 또는 저장소에 대한 링크를 설정할 수 있으므로 링크도 응답으로 제공 할 수 있습니다. :) – Esha

0

내 코드 아래의 view.see에 슬라이드 인 사이드 바를 추가 할 수 있습니다.

.H 파일의 속성을 지정

UIView*menuDrawer; 

@property(readonly,nonatomic)UISwipeGestureRecognizer*recognizer_open,*recognizer_close; 
@property(readonly,nonatomic) int menuDrawerX,menuDrawerWidth; 

// 슬라이드 메뉴

-(void)handleSwipes:(UISwipeGestureRecognizer*)sender 
{ 
    [self drawerAnimation]; 

} 

호출 추가를 viewDidLoad에

int statusBarHeight=[UIApplication sharedApplication].statusBarFrame.size.height-20; 
    menuDrawerWidth=self.view.frame.size.width*0.65;//you can adjust width 
    menuDrawerX=self.view.frame.origin.x-menuDrawerWidth; 
    menuDrawer=[[UIView alloc]initWithFrame:CGRectMake(menuDrawerX, self.view.frame.origin.y+statusBarHeight, menuDrawerWidth,self.view.frame.size.height-statusBarHeight)]; 
    menuDrawer.backgroundColor=[UIColor 
           whiteColor]; 
    recognizer_close=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipes:)]; 
    recognizer_open=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipes:)]; 
    recognizer_close.direction=UISwipeGestureRecognizerDirectionLeft; 
    recognizer_open.direction=UISwipeGestureRecognizerDirectionRight; 


    [self.view addGestureRecognizer:recognizer_close]; 
    [self.view addGestureRecognizer:recognizer_open]; 
    [self.view addSubview:menuDrawer]; 

에서이 방법을이 코드를 추가 지정 티 당신이 그것을 잘 작동 버튼의

-(void)drawerAnimation 
{ 

[UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDelegate:self]; 
    [UIView setAnimationDuration:-5]; 

    CGFloat new_x = 0; 
    if (menuDrawer.frame.origin.x < self.view.frame.origin.x) { 
     new_x=menuDrawer.frame.origin.x + menuDrawerWidth; 
     } 
    else 
    { 
     new_x=menuDrawer.frame.origin.x - menuDrawerWidth; 
    } 
    menuDrawer.frame=CGRectMake(new_x, menuDrawer.frame.origin.y, menuDrawer.frame.size.width, menuDrawer.frame.size.height); 
    [UIView commitAnimations]; 


} 

을 선택을 설정할 수 있습니다 또한 버튼을 할당하는 경우의 방법은 이러한 측면 슬라이드 막대 메뉴에서 jQuery과 또는 다른 컨트롤을 추가 할 수 있습니다.

statusBarHeight 및 menuDrawerWidth를 통해 높이와 너비를 조정할 수 있습니다.

관련 문제