프레임을 변경하여 UINavigationBar
의 높이를 변경했습니다. 그러나 응용 프로그램을 백그라운드로 보내고 다시 열면 높이가 원래 크기로 복원됩니다. 어떻게 해결할 수 있습니까?iPhone - 전경을 입력 한 후 프레임 크기를 복원하는 방법은 무엇입니까?
답변
프레임을 plist 또는 XML 파일과 같은 리소스 파일에 쓸 수 있습니다. 그런 다음 plist를 -(void)applicationWillEnterForeground:(UIApplication *)application' or
- (void) applicationDidBecomeActive : (UIApplication *) application` 응용 프로그램 대리인 파일에로드하십시오.
NSUserDefaults *frameSize = [NSUserDefaults standardUserDefaults];
//Put frame size into defaults
[sharedDefaults setObject:navigationBar.frame forKey:@"frame"];
[sharedDefaults synchronize];
그런 다음 상기 앱 위임 방법, 당신은 같은 것을 할 수 있습니다 : 당신이 또한 NSUserDefaults를 사용할 수 있습니다 생각이 도움이
self.viewController.navigationController.frame = [sharedDefaults objectForKey:@"frame"];
희망하고 그랬다면, 투표까지해야합니다.
-----------이 질문 iOS selected tab 보면, 당신이 방법을 선택하는 탭 결정 말한다 ------------
편집 . 그들이 기본적으로 말하는 것은 먼저 앱 위임에 self.tabController.delegate = self
을 추가하고 앱 위임자와 탭 막대가있는보기 컨트롤러가 UITabBarControllerDelegate 프로토콜을 준수하는지 확인하는 것입니다. 그런 다음 탭 막대가있는 View Controller 파일에서 프로토콜에 정의 된이 메서드를 사용할 수 있습니다.
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
if (tabBarController.selectedIndex == 0) {
//The 0 is the first tab, but you can replace that with any other tab's index
//Here you say that when said tab is selected, the navigation controller's frame is the stored length.
self.navigationController.frame = [sharedDefaults objectForKey:@"frame"];
}
else{
self.navigationController.frame = CGRectMake(frame, for, other, tabs);
}
}
내 앱에는 4 개의 탭이 있으며, UINavigationBar 높이는이 탭 중 하나에서만 변경해야합니다. 어떻게해야합니까? – Oleg
저는 탭바드에 익숙하지 않아서 지금 당장 당신을 도울 수는 없지만 그걸 살펴볼 것입니다. 죄송합니다 – pasawaya
NSUserDefaults의 탭 인덱스를 NSNumber로 유지할 수도 있습니다. 모든 탭 프레임을 유지하려면 NSNumber 객체를 포함하는 NSMutableArray 객체로 NSUserDefaults 객체를 유지하거나 사용할 수 있습니다. 'NSMutableDictionary' 등. 희망은 당신에게 영감을 줄 것입니다. – relower
- 1. 충돌 후 b2Body 상태를 복원하는 방법은 무엇입니까?
- 2. 프로그램 시작시 Gtk 창 크기를 올바르게 복원하는 방법은 무엇입니까?
- 3. PHP 세션을 복원하는 방법은 무엇입니까?
- 4. Magento에서 크기를 조정 한 후 카테고리 이미지를 표시하는 방법은 무엇입니까?
- 5. 이전 firstResponder를 복원하는 방법은 무엇입니까?
- 6. iPhone 앱의 코드 크기를 줄이는 방법은 무엇입니까?
- 7. iPhone SDK : 필터를 적용한 후 NSMutableArray 데이터 세트를 복원하는 방법은 무엇입니까?
- 8. iPhone SDK : 각 단어를 입력 한 시간을 저장하는 방법은 무엇입니까?
- 9. 값을 입력 한 후 셀의 값을 가져 오는 방법은 무엇입니까?
- 10. 에코를 해제 한 후 입력 문자를 다시 에코하는 방법은 무엇입니까?
- 11. iPhone UIButton setFrame이 잘못된 프레임 크기를 반환합니다.
- 12. iphone sdk에서 이미지를 수정 한 후 저장하는 방법은 무엇입니까?
- 13. iPhone : UISegmentedControl, 다시 탐색 한 후 색인을 기억하는 방법은 무엇입니까?
- 14. 화면 회전 후 텍스트 뷰 스크롤 위치를 복원하는 방법은 무엇입니까?
- 15. iPhone 키보드의 크기를 조정하는 방법은 무엇입니까?
- 16. 허드슨 구성을 복원하는 방법은 무엇입니까?
- 17. 텍스트 파일을 복원하는 방법은 무엇입니까?
- 18. git에서 파일을 복원하는 방법은 무엇입니까?
- 19. my.ini 파일을 복원하는 방법은 무엇입니까?
- 20. CoreData NSManagedObjectContext에서 NSUndoManager의 내용을 복원하는 방법은 무엇입니까?
- 21. iCloud 복원 후에 다운로드 한 미디어 파일을 복원하는 방법은 무엇입니까?
- 22. iphone 앱을 ipad 앱으로 업그레이드 한 후
- 23. 입력 한 음수 값을 다시 입력 한 후 다시 입력해야합니다.
- 24. 패널을 입력 한 후 iPhone을 새로 고침
- 25. iPhone : 다시로드 한 후 deselectRowAtIndexPath
- 26. Mercurial : rebase 후 복원하는 방법
- 27. 제출 한 후 양식을 재설정하는 방법은 무엇입니까?
- 28. 손상된 git 저장소를 복원하는 방법은 무엇입니까? 자식 커밋 후 얼어 붙었다 내 노트북의 하드 리셋 후
- 29. Gtk 위젯의 기본 색상을 복원하는 방법은 무엇입니까?
- 30. TortoiseSVN을 사용하여 기존 저장소를 복원하는 방법은 무엇입니까?
높이를 변경하는 위치는 어디입니까? ViewController의 viewDidLoad에서이 작업을 수행하고 있습니까? – self
예, ViewdidLoad 및 ViewDidAppear에서도 – Oleg
이 한 번만 수행되어야합니다. viewDidAppear – self