UINavigation 바를 사용하여 iPad에 팝업을 표시하고 있습니다. 두 번째보기에는 키보드를 표시 할 수있는 UISearchController가 있습니다. 키보드는 popover를 밀어 넣습니다. 그러나 UINavigation bar의 'back'버튼을 누르면 키보드가 닫히지 만 popover는 원래 위치로 다시 내려 가지 않습니다. 누구든지 그 문제를 해결하는 방법을 알고 있습니까? 감사!UIPopoverController가 키보드를 뒤로 밀면 원래 위치로 이동하지 않습니다.
8
A
답변
9
좋아, 실제로 (나는) 당신의 질문이 무엇을 요구하고 있는지를 알아 냈다 ... 그리고 누군가가 구글에서 이것에 비틀 거린 경우에, 나는 내가 어떻게했는지에 대한 답을 찾았다. 해킹 작업 같은 느낌이지만 다른 방법으로는 찾을 수 없었습니다. 키보드를 제공 컨트롤러에서
, 나는 키보드를 일축 때마다 알림을 게시했다 :[aTextField resignFirstResponder];
[[NSNotificationCenter defaultCenter] postNotificationName:@"movePopups" object:nil];
을 다음 다시 UIPopover을 제어 내 홈 스크린 컨트롤러에, 나는 청취자를 추가 :
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(movePopUpToRightLocation)
name:@"movePopups"
object:nil];
init. 좋은 프로그래밍 연습을위한 당신의 dealloc에서 리스너를 제거하기 위해 반드시 기억 될 : 나는 키보드가 사라 알림을받을 때마다 그럼
[[NSNotificationCenter defaultCenter] removeObserver:self];
, 나는 팝 오버가에서 나타 버튼에 대한 참조를 가져, 그냥 그것에서 직접 표시 다시이 :
-(void)movePopUpToRightLocation {
NSLog(@"move pop up to right location");
if (morePopUp) {
UIBarButtonItem *barButtonItem = (UIBarButtonItem *)[[bottomToolBar items] objectAtIndex:0];
[morePopUp presentPopoverFromBarButtonItem:barButtonItem
permittedArrowDirections:UIPopoverArrowDirectionDown
animated:YES];
}
}
내가하는 그것이 팝업 어떤 검사를 추가하지 않은,하지만 난이 쉽게 할 수있는 나는 팝 오버의 1 개 이상의 유형이있는 경우/그 버튼이 나타납니다. 그러나 이것이 당신이 갈 수있는 기본 전제입니다.
희망이 있습니다.
1
UIKeyboardDidHideNotification에 이니셜 라이저의 어딘가에 등록 할 수도 있습니다.
- (void)movePopoverBack:(id)sender {
if ([self.settingsPopoverController isPopoverVisible]) {
[self performSelector:@selector(hidePopover) withObject:nil afterDelay:0.1];
[self performSelector:@selector(movePopoverBack) withObject:nil afterDelay:0.5];
}
}
- (void)hidePopover {
[self.settingsPopoverController dismissPopoverAnimated:YES];
}
- (void)movePopoverBack {
[self.settingsPopoverController
presentPopoverFromBarButtonItem:self.bottomToolbar.settingsButton
permittedArrowDirections:UIPopoverArrowDirectionDown
animated:YES];
}
나는 지연없이 작업을하지 않았다, 그러나 이것은 내 현재 프로젝트에 대한 허용 될 것으로 보인다 :
[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movePopoverBack:) name:UIKeyboardDidHideNotification object:nil];
이 코드는 팝 오버를 다시 이동합니다. 누군가가 도움이되기를 바랍니다.
0
뒤로 단추를 누른 후 검색 필드에 resignFirstResponder
(예 : viewDidDisappear
)을 수동으로 호출해야합니다.
이 도움이 될 것입니다,하지만 장치가 왼쪽
관련 문제
- 1. MediaPlayer 스트림 음악을 뒤로 밀면 강제 종료
- 2. CAAnimationGroup은 완료시 원래 위치로 되돌아갑니다.
- 3. MapView가 원래 위치로 스냅 - 도움말!
- 4. CABasicAnimation rotate가 원래 위치로 돌아갑니다.
- 5. iScroll4의 원래 위치로 스냅 백 금지
- 6. IIS7 바로 가기가 원래 위치로 리디렉션됩니다.
- 7. 오른쪽 프레임으로 이동하지 않습니다.
- 8. UITableViewCell 위아래로 이동하지 않습니다.
- 9. ViewController를 밀면 바로 팝업됩니다.
- 10. UITextView가 키보드를 제거하지 않습니다
- 11. Seekbar 재생 중에는 이동하지 않습니다.
- 12. 메일은 하나의 계정으로 이동하지 않습니다.
- 13. URL이 자동 창에서 이동하지 않습니다.
- 14. div의 위치로 되돌아 가기가 올바르지 않습니다. jquery
- 15. Google지도 v3 panTo() from getCenter() lat lng이 동일한 위치로 이동하지 않습니다.
- 16. 지도보기가 사용자 위치로 확대되지 않습니다.
- 17. 오브젝트를 드래그 앤 드롭하여 원래 위치로 되 돌리십시오.
- 18. 원래 위치로 스크롤 할 때 가로 목록보기를 만드는 방법은 무엇입니까?
- 19. 기본보기에있는 하위보기를 이동하고 크기를 조정하고 원래 위치로 되돌리는 방법은 무엇입니까?
- 20. JInternalFrame이 컨테이너를 컨테이너 밖으로 가져갈 때 원래 위치로 스냅합니다.
- 21. 로그 아웃 할 때 이전 페이지로 이동하지 않습니다.
- 22. 누군가 "뒤로"를 클릭하면 어떻게 동일한 위치로 사용자를 유도합니까? (PHP)
- 23. Xcode 4 오류/경고를 클릭하면 코드로 이동하지 않습니다.
- 24. ipad는 UIPopoverController가 닫힐 때 감지합니다
- 25. UIPopoverController가 ADBannerView를 덮지 못하도록 함
- 26. 안드로이드에서 이전 화면으로 이동하지 않습니까?
- 27. Silverlight DragDropTarget - 그냥 복사, 이동하지 않습니다.
- 28. SHFileOperation이 폴더의 모든 내용을 이동하지 않습니다.
- 29. UIPageControl 현재 페이지 표시기가 이동하지 않습니다.
- 30. PDF 3D 이미지가 제대로 이동하지 않습니다.
덕분에 오메 버튼을 Hthe 가로 방향에있을 때 여전히 아이폰 OS 4에서 재현 될 문제! 이것은 내가 확신하는 사람에게 도움이됩니다. – paranoidroid