2017-05-11 2 views
2

수행하지 않습니다 : 내 녹색 뷰 컨트롤러에서아이폰 OS : SWRevealViewController revealToggle 통화하고있다 아무것도에게 내가이 시나리오에 SWRevealViewController을 구현하기 위해 노력하고있어

-(void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:YES]; 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    SWRevealViewController *SWR = [storyboard instantiateViewControllerWithIdentifier:@"SWRevealViewController"]; 
    [self presentViewController:SWR animated:YES completion:nil]; 
} 

: 내 주요의 ViewController에서

enter image description here 을 :

-(void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:YES]; 
    self.reveal = [[SWRevealViewController alloc] init]; 
    self.reveal.delegate = self; 
    self.menu.target = self; 
    self.menu.action = @selector(revealToggleAction:); 
    [self.view addGestureRecognizer:self.reveal.panGestureRecognizer]; 
    NSLog(@"viewDidLoad"); 
} 

-(void)revealToggleAction:(id)sender 
{ 
    [self.reveal revealToggle:self]; 
} 

revealToggle 동작은 호출되었지만 아무 것도 수행하지 않습니다. 후면보기 컨트롤러가로드되지 않습니다. 여러분 중 누구도 이런 일이 일어나는 것을 알고 있거나 내가 잘못하고있는 것을 알고 있습니까?

답변

2

사이드 바 메뉴가 오른쪽에서 보이고 있다고 가정합니다.

먼저 삽입 후 첫 번째보기 컨트롤러 viewdidload() 또는 viewDidAppear 방법은 아래의 추가 탐색 컨트롤러에 첫 번째 뷰 컨트롤러는이 컨트롤러 즉 그린 뷰 컨트롤러로 이동합니다 즉

//this is your side menu view controller. 

UIViewController *sideMenuController = 
[self.storyboard instantiateViewControllerWithIdentifier:@"YourSideMenuIdentifier"]; 

//this is the navigation controller embed to your green view controller. 

UINavigationController *nc1 = 
(UINavigationController *)[self.storyboard instantiateViewControllerWithIdentifier:@"YourNavigationControllerIdentifier"]; 

//This is your reveal view Controller. 

SWRevealViewController *revealViewController = 
[[SWRevealViewController alloc]initWithRightViewController:sideMenuController frontViewController:nc1]; 
[self.navigationController pushViewController:revealViewController animated:YES]; 
[self.navigationController setNavigationBarHidden:YES]; 

코드를 언급했다.

은 다음 녹색 뷰 컨트롤러에 viewdidload() 또는 viewDidAppear 방법은 아래 즉

//GreenViewController.h file 

@interface GreenViewController : UIViewController 
@property (weak, nonatomic) IBOutlet UIBarButtonItem *sideBarItem; 
@end 


//Your GreenViewController.m file 

_sideBarItem.target = self.revealViewController; 
_sideBarItem.action = @selector(rightRevealToggle:); 
SWRevealViewController *revealController = [self revealViewController]; 
[self.view addGestureRecognizer:revealController.panGestureRecognizer]; 

참고 코드를 언급 한 추가 자세한 내용은 아래 링크

http://www.appcoda.com/ios-programming-sidebar-navigation-menu/

언급 체크
0

SWRevealViewController의 새 인스턴스를 만듭니다.

self.revealself.revealViewController으로 설정하면 효과가 있다고 생각합니다.

1

설정해야합니다. SWRevealViewController는 초기보기 컨트롤러입니다.

관련 문제