Popover에서 기능을 호출합니다
-
20-09-2019 - |
문제
좋아, 그래서 나는 나의 주요 시야와 그 좋은 것들에서 팝 오버를 만들었다. 그러나 팝 오버 내의 버튼을 누르면 팝 오버가 메인 뷰에서 액션을 호출하고 싶습니다.
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
제휴하지 않습니다 StackOverflow