iPad Orientation Control help
-
Any chance anyone knowsvhow i can do one of the following?
- access to rotation lock setting
- force rotation programmatically
i use iPad Air 2 (4,5) on iPadOS 13.4.1 And some basic knowledge of objc_util. I did see the comment by @omz
"Important: The orientations parameter has no effect on iPadOS starting with iOS 10 because it is technically not possible to lock the orientation in an app that supports split-screen multitasking."
But there must be a way to control orientation.. Thank you in advance!
-
@stephen wow 🤔🤯🤕🤒
-
@JonB Thanks for your explanation.
-
@cvp said:
@stephen wow 🤔🤯🤕🤒
lol i just read what i put lol it sure is a bit of a mouth full 😂🤣
-
@JonB would you happen to know of any good tutorials/walkthroughs/guides i can checkout on
objc_util
..? im kinda grasping it but there just somthing missing for me to fully take her home...
-
😂 just found this while looking through my list of view controller members lol
attentionClassDumpUser_yesItsUsAgain_althoughSwizzlingAndOverridingPrivateMethodsIsFun_itWasntMuchFunWhenYourAppStoppedWorking_pleaseRefrainFromDoingSoInTheFutureOkayThanksBye_
about died
-
😓😴 im at a loss.. i tried:
- setInterfaceOrientation
- shouldAutorotateToInterfaceOrientation
- preferredInterfaceOrientationForPresentation
- viewControllerForRotation().setInterfaceOrientation_
- setModalPresentationStyle
- window_willRotateToInterfaceOrientation
the list goes on for a bit lol
ill get no errors but also nothing changes
-
Did you implement @mcriley821 's code, along with the alloc().init()? I haven't but mcriley says it works...
-
The gist in one of my posts used @mcriley821 's code.
The method works but not what @stephen wants.
Perhaps, the used ViewController is not the good one.
-
@JonB @cvp ya iv been mesing with it for just a min and i cant seem to get it to lock, force rotate or anything lol
-
@stephen you're right. I don't know how to do and that's the reason why I saidthat I let YOU go on 😅
-
@cvp said:
@stephen you're right. I don't know how to do and that's the reason why I saidthat I let YOU go on 😅
all good i even tried the one JonB mentioned and nothin
-
In that case the best option may be to implement a callback on the layout method to re-rotate the view. This could maybe be implemented with a simple Transform.rotate.
-
@JonB said:
In that case the best option may be to implement a callback on the layout method to re-rotate the view. This could maybe be implemented with a simple Transform.rotate.
When I detect a rotation from
ui.View. layout(self)
from the resizing i can just rotate and resize myView
object? only negative part is the status bar being in the wrong place? if so id say thats a good compromise lol
-
Im thinking:
Root view - uses flex, to detect layout.
-> rotated_view. Fixed size. Uses a Transform.rotation to back out the orientation.
-> everything else is a subview of rotated_viewYou can get orientation with a bit of objc, or by using a 1 pixel webview and some JavaScript.
-
to get orientation if always did:
def Orientation(): return PORTRAIT if get_screen_size()[0] < get_screen_size()[1] else LANDSCAPE
-
If you want to be able to detect upside down landscape etc, versus just screen size, you'd have to use objc, or a webview and some JavaScript to get the viewport rotation.
In objc,, you can get the view controller, then use
[UIViewController interfaceOrientation]Or,
[[UIDevice currentDevice] orientation]
Or, I believe there is something that grabs the status bar orientation.
-
awesome thank you! this
objc_util
stuff is interesting.. lol im starting to get the hang of it. i do want to askmone thing though..ive been using
inspect.getmembers()
to list fields and methods.. is this good option or is there a better way?
-
https://github.com/jsbain/objc_hacks/blob/master/objc_browser.py
This is a good way to see a complete list of available classes (that is, from loaded frameworks) and their methods. Tapping a method name installs a swizzle to log all calls to that method -- useful for figuring out how to call an omz custom method for instance. Don't tap a method name unless you want said logging.
For viewing instances, your method works. Also, You can use
https://github.com/jsbain/viewbrowser/blob/master/getobjcprops.py
To get all properties/values of an objc instance. There is a table view delegate to show as a table. I probably need to create a workspace browser that ties together the viewbrowser objc oject browsing functionality...
-
Awesome! That would be a wonderful asset 😀