UIViewControllerBasedStatusBarAppearance
및 preferredStatusBarStyle
을 사용하여 상태 표시 줄의 색과 모양을 관리하고 있습니다.자르기에서 UIImagePickerController 상태 표시 줄 문제가 발생했습니다.
내 앱을 사용하면 사용자는 자신의 카메라 롤에서 사진을 선택하고 자르기 옵션 UIImagePickerController
을 사용하여 사각형으로자를 수 있습니다.
따라서 UIImagePickerController
을 누르고 자르기 화면을 가져 오기 위해 편집 할 수 있도록 설정하십시오.
문제는, 앨범 및 사진보기에서 상태 표시 줄이 흰색으로 표시되고 자르기보기에서 상태 표시 줄을 숨기고 싶습니다.
preferredStatusBarStyle
으로 어떻게 할 수 있습니까?
지금까지 내가 UIImagePickerController
에 대한 카테고리를 만들어 구현 :
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
이 실제로 사진에서 화이트 색상에 대한 상태 표시 줄을 설정할 수 있지만보기를 자르 갈 때, 상태 표시 줄이 검은 색이되고, 그 수 나는 그것을 숨기고 배경이 검은 색이어서 당신이 그것을 볼 수 없기 때문에 나를 위해 좋다. 그러나 배터리 표시가 녹색이다! 그래서 당신은 상태 표시 줄에 배터리 표시등 만 볼 수 있습니다!
어떻게 해결할 수 있습니까? 자르기보기에서만 상태 표시 줄을 숨길 수 있습니까?
하지만 내 문제는 어떤 컨트롤러가 UIImagePickerController를 밀어 넣고 있는지 알지 못한다는 것입니다. 예를 들어 앨범, 사진 및 자르기와 같은 여러보기 컨트롤러를 스택에 넣을 수 있습니다. 작물 컨트롤러의 상태 표시 줄 만 숨기려면 어떻게 알 수 있습니까? – Mario
맞습니다. 아마도'NSStringFromClass (self.topViewController.class)'를 사용하여 private 클래스의 문자열 이름을 얻을 수 있습니다. 이렇게하면 컨트롤러를 식별 할 수 있습니다. – Andy
'setNeedsStatusBarAppearanceUpdate'가 사용되지 않는 한, 부모 뷰 컨트롤러의'prefersStatusBarHidden'는 자식이 푸시 될 때 다시 호출되지 않는다는 것을 알게 될 것입니다. –