어떻게 프로그래밍 방식으로 FBWebDialogs를 닫을 수 있습니까? 모든 설명서 및 스택 오버플로 문제를 확인했으며이를 수행 할 방법이없는 것 같습니다. 그럴 수 없습니까?FBWebDialogs를 해제하는 방법
1
A
답변
2
그래서 나는 일종의 해킹 방법을 찾았습니다.이 코드는 프로그래밍 방식으로 닫기 버튼을 TouchUpInside 트리거하여 누군가가 수동으로 닫기 버튼을 눌렀을 때처럼 대화 상자를 닫았습니다. 앱의 마지막 창을 반복하면서 작동합니다. hiearachy를보고 FBDialog의 닫기 버튼을 찾으려고합니다. 내 테스트에서 작동하지만 모든 사용자에게 작동하지 않을 수도 있습니다. 코드는 있지만 실제로 페이스 북은 SDK에서 API 호출을 추가해야합니다.
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
UIView *fbDialogWrapper = [window.subviews lastObject];
NSLog(@"Class: %@", [[fbDialogWrapper.subviews firstObject] class]);
if ([[fbDialogWrapper.subviews firstObject] isKindOfClass:NSClassFromString(@"FBDialog")]) {
for (UIView *view in ((UIView *)[fbDialogWrapper.subviews firstObject]).subviews) {
if ([view isKindOfClass:[UIButton class]]) {
UIButton *closeButton = (UIButton *)view;
[closeButton sendActionsForControlEvents:UIControlEventTouchUpInside];
NSLog(@"Trigger facebook close");
break;
}
}
}
2
그냥 [self dismissModalViewControllerAnimated:YES];
을 사용해보세요.
관련 문제
- 1. FBWebDialogs를 닫으려면 어떻게해야합니까?
- 2. Objective c에서 FBWebDialogs를 사용하여 요청을 보내는 방법
- 3. Facebook 게시물의 허락은 FBWebDialogs를 사용하는 "나만"입니다
- 4. Sys.WebForms.PageRequestManagerParserErrorException을 해제하는 방법
- 5. SlimDX에서 프로젝트를 해제하는 방법
- 6. 블록을 해제하는 방법
- 7. 폴더 반전을 해제하는 방법
- 8. ColorPickerImageView에서보기를 해제하는 방법
- 9. UITableViewCell에서 UIImageView를 해제하는 방법?
- 10. c2dm에서 등록 해제하는 방법?
- 11. JSONConnection 객체를 해제하는 방법
- 12. HttpURLConnection 바이트를 해제하는 방법?
- 13. Jboss-logging을 해제하는 방법
- 14. 그리드에 스냅을 해제하는 방법
- 15. 광고 조정 - 해제하는 방법?
- 16. vtkSmartPointer를 해제하는 방법
- 17. 윈도우에서 MONGO_URL을 해제하는 방법
- 18. NSManagedObject 개체를 해제하는 방법?
- 19. fsi에서 정의 해제하는 방법?
- 20. 해제하는 방법/* 12345 ... */
- 21. codeignitor보기를 해제하는 방법
- 22. android에서 메모리를 해제하는 방법
- 23. jquery 탭을로드 해제하는 방법
- 24. 개체를 콜백에서 해제하는 방법?
- 25. 강제로 UITableViewCell을 해제하는 방법
- 26. AFNetworking에서 캐싱을 해제하는 방법
- 27. json_object를 해제하는 방법?
- 28. pigz로 압축 해제하는 방법
- 29. 이 개체를 해제하는 방법?
- 30. NSString을 해제하는 방법?