문제

좋아, 그래서 나는 나의 주요 시야와 그 좋은 것들에서 팝 오버를 만들었다. 그러나 팝 오버 내의 버튼을 누르면 팝 오버가 메인 뷰에서 액션을 호출하고 싶습니다.

MainView *mainView = [[MainView alloc] initWithNibName:@"MainView" bundle:nil]; [mainView doStuff];

"dostuff"함수는보기 내의 일부 요소를 변경합니다. 예를 들어, 도구 모음의 색상이 변경되어야합니다. 인쇄 명령을 넣고 인쇄 명령이 실행됩니다. 그러나 어떤 이유로 툴바는 색상이 변경되지 않습니다.

  • 메인 뷰 헤더를 팝 오버로 가져 왔습니다.
  • 나는 팝 오버에서 mainview를 위해 @class thingy를했다.
  • Dostuff는 Mainview의 헤더에서 선언됩니다.
  • Iboutlet도 선언되어 연결되어 있습니다.

어떤 아이디어?

도움이 되었습니까?

해결책

팝 오버가 표시되는 뷰 (보기 컨트롤러)를 확인하는 데 사용될 수있는 직접 방법이 없다는 실망 스럽습니다. 내가 탭베이스 애플리케이션에서하고있는 일은 다음과 같습니다.

New_iPadAppDelegate *appDel = (New_iPadAppDelegate *)[[UIApplication sharedApplication] delegate];
    NSArray *viewConts = [(UINavigationController *)[[appDel tabBarController] selectedViewController] viewControllers];
    MainViewController *viewController =  (MainViewController *)[viewConts lastObject];
    if([[viewController popoverController] isPopoverVisible]){
        [viewController doStuff];
    }

도움이 되었기를 바랍니다,

애플 이이 문제에 대해 생각하거나 누군가가 일을 고안했을 때 이것이 가장 좋은 방법이 아니라는 것을 알고 있습니다.

감사,

Madhup

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top