2013-09-28 1 views
3

나는 옳은 대답을 찾기 위해 스택 교환을 검색하고 있지만 그걸 찾을 수없는 것 같습니다. 내가 가지고있는 것은 popover segue를 통해 표시되는 popover view이며, popover view 내부에서 버튼을 클릭 할 때, 나는 그것을 무시하고 UIAlert를 표시하기를 원합니다. 내가 의심하고있어Storyboard Segues로 팝업 뷰 해제하기

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
if ([segue.identifier isEqualToString:@"popOverSegue"]) { 
    if ([segue isKindOfClass:[UIStoryboardPopoverSegue class]]) { 
     UIStoryboardPopoverSegue *popoverSegue = (UIStoryboardPopoverSegue *)segue; 
     self.myPopoverController = popoverSegue.popoverController; 
    } 
} 
} 


- (void)methodThatShouldCauseMyPopoverToCloseAnimated:(BOOL)animated 
{ 
[self.myPopoverController dismissPopoverAnimated:animated]; 
NSLog(@"Dismissed"); 
} 


-(IBAction)presentPopoverView:(id)sender { 
if (!popOverViewIsShown){ 
    [self performSegueWithIdentifier:@"popOverSegue" sender:self]; 
    popOverViewIsShown = YES; 
}else { 
    [self methodThatShouldCauseMyPopoverToCloseAnimated:YES]; 
    popOverViewIsShown = NO; 
} 

} 

- (IBAction)logoutMethod:(id)sender { 

[self methodThatShouldCauseMyPopoverToCloseAnimated:YES]; 

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Logout" 
               message:@"Are you sure?" 
               delegate:self 
             cancelButtonTitle:@"Cancel" 
             otherButtonTitles:@"OK", nil]; 
alert.tag = 0; 
[alert show]; 

} 

내가 myPopoverController이 전무 동일 methodThatShouldCauseMyPopoverToClose 것을 호출 할 때 : 저는 여기에 다른 대답하지만 dosn't 작업에서 수집 한 것과 내가 지금까지 가지고있는 코드입니다. 어떤 제안? 정말 고맙습니다! :)

답변

2

prepareForSegue에 popover를 저장 한 다음 중단 점을 배치하여 메서드가 실행되는지 확인합니다.

self.myPopoverController = [(UIStoryboardPopoverSegue *)segue popoverController]; 
+0

감사합니다. :디 –

관련 문제