Open nickeyzzz opened 4 years ago
It won't work correct as this won't be called on modern iPads: open override var supportedInterfaceOrientations: UIInterfaceOrientationMask { return .portrait } until you didn't set "Requires full screen" in General tab of your Target. https://stackoverflow.com/questions/35274428/supportedinterfaceorientations-not-called-in-ipad
If 'Requires full screen' setting from 'General' is enable, will allow the orientation delegate methods shouldAutorotate, preferredInterfaceOrientation, and supportedInterfaceOrientations to fire.
I think this can be added to documentation or the whole Picker requires some fixes for handling iPad rotations correct way.
iPad Rotation on iPad does not work. Right side of picker is black. (version = XCode 12 release)
I tried something like the following inside YPImagePicker.swift, but without success.
Do you know how the landscape rotation can be done otherwise ?
open override var shouldAutorotate: Bool {
return true
}
open override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
coordinator.animate(alongsideTransition: { (context) in
guard let windowInterfaceOrientation = self.windowInterfaceOrientation else { return }
if windowInterfaceOrientation.isLandscape {
// activate landscape changes
print("landscape now")
print(UIScreen.main.bounds.height)
print(UIScreen.main.bounds.width)
self.view.frame = CGRect(x: 0.0, y: 0.0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
self.view.setNeedsLayout()
self.view.layoutSubviews()
} else {
// activate portrait changes
print("portrait now")
print(UIScreen.main.bounds.height)
print(UIScreen.main.bounds.width)
self.view.frame = CGRect(x: 0.0, y: 0.0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
self.view.setNeedsLayout()
self.view.layoutSubviews()
}
})
}
private var windowInterfaceOrientation: UIInterfaceOrientation? {
if #available(iOS 13.0, *) {
return UIApplication.shared.windows.first?.windowScene?.interfaceOrientation
} else {
return UIApplication.shared.statusBarOrientation
}
}
@StephanKornerTrihow Did you find any solution for this issue? @nickeyzzz
no - not yet
Indeed, I observed that landscape rotation on iPhone is also error-prone (especially when in camera-mode). I am waiting on some input from the YPImagePicker cracks on this.
I'm having the same issue on ipad, any idea on the fix or when it will be fixed?
still get portrait in iPad. even parent screen is in landscape mode
Any update on this? We are facing this same issue where the selection view is broken on iPad in landscape. If we enable requires full screen
the issue is fixed. Seems to be outlined here that its not possible to support split screen multi-tasking with orientation locking -> https://stackoverflow.com/a/56267601/757503
im using other lib that handle all better
im using other lib that handle all better
Which one?
im using other lib that handle all better
Which one? https://github.com/hyperoslo/ImagePicker
I am seeing the same issue and it is a show stopper for me. @fukemy the referenced other library dos not unfortunately have video support etc so reduces the functionality somewhat.
Running example app on the emulator, start Image picker, then rotate. https://www.dropbox.com/s/6r0nbsrzie0gqog/Simulator%20Screen%20Shot%20-%20iPad%20Pro%20%289.7-inch%29%20-%202020-08-28%20at%2022.34.35.png?dl=0