2012-06-30 5 views
0

내 목표는 Popover가 두 경로 중 하나를 통해 나타나는 것입니다.프로그래밍 방식으로 Popover가 작동하지 않음

첫 번째 버튼을 명시 적으로 누르면 두 번째는 카운트 다운 타이머가 만료 될 때입니다.

첫 번째 작동 중 - Popover로 구성된 Storyboard Segue가 있고 버튼에 연결되어 있습니다. 버튼을 누르면 Popover가 나타납니다. 큰!

두 번째는 아닙니다 - 저는 카운트 다운에서 남은 초 수로 레이블을 업데이트하는 타이머 (NSTimer)를 매초마다 호출합니다. 카운트 다운이 0이되면 자동으로 팝업을 호출하고 싶습니다. 두 가지 접근 방식을 시도했습니다 - 하나는 단추를 프로그래밍 방식으로 호출하는 것입니다 ([self popoverButton:self]). 다른 하나는 다음 코드를 사용하고 있습니다 :

PopViewController *myPopVC = [[PopViewController alloc] init]; 
UIStoryboardSegue *aSegue = [[UIStoryboardSegue alloc] initWithIdentifier:@"popoverSegue" source:self destination:myPopVC]; 
[self prepareForSegue:aSegue sender:self]; 
[aSegue perform]; 

어떤 두 가지 접근법도 작동하지 않으므로 어떤 도움을 주시면 감사하겠습니다.

답변

0

segue에 스토리 보드에 식별자가 설정되어 있는지 확인한 다음 performSegueWithIdentifier 메소드를 호출하십시오. 타이머가 만료되었을 때이를 수행하는 방법에 대한 예는이 답변을 참조하십시오.

Call another view when user taps on pin in mapview

+0

감사합니다. 'performSegueWithIdentifier'접근 방식이 저에게 효과적이었습니다. 건배. 토니. – Tony

0

사용 popOverController의 방법 :

[pop presentPopoverFromRect:rect inView:self.view permittedArrowDirections: UIPopoverArrowDirectionUp animated:YES]; 

당신은 당신이에 팝 오버의 가리키는 화살표로 원하는 위치와 CGRect을 만들어야합니다. 또는보기 내부의 모든 UIView의 프레임에 할당 할 수 있습니다.

관련 문제