ios - iPad Device orientation using statusBarOrientation -



ios - iPad Device orientation using statusBarOrientation -

(xcode 6, swift, ios8)

i trying find device orientation ipad, , seems needlessly complicated. going wrong?

at first, tried utilize interfaceorientation of uiviewcontroller, unreliable , deprecated. apple recommend using statusbarorientation property. (1)

statusbarorientation of type uiapplication. tried create instance so:

var o: uiapplication

and test:

if (o.statusbarorientation.islandscape) { ... }

but received error

variable 'o' used before beingness initialized.

which makes no sense me @ all. why initialize value? overwrite value want!?

then tried creating variable recommended in docs:

var statusbarorientation: uiinterfaceorientation

but on trace:

statusbarorientation = (uikit.uiinterfaceorientation) (0xa0)

so tried subclass uiapplication, , access property through subclass.

from here, more complexity. appears "every app must have 1 instance of uiapplication (or subclass of uiapplication)." (2)

this led me next post, seems create main routine in swift?! subclass uiapplication swift

again, goal grab current device orientation, , test in conditional. pseudocoded:

var o = (get device orientation) if (o == portrait ) { ... } else { ... }

as can see, i'm in weeds... help appreciated.

edit: did manage sort-of working following:

var o = uiapplication.sharedapplication().statusbarorientation; if (o.islandscape) { ...

however, on initial load, when device rotated landscape, o.islandscape beingness reported false.

search documentation "uiviewcontroller," , in "configuring view rotation settings." under discussion, "do not utilize property informing layout decisions. instead, utilize statusbarorientation property, described in uiapplication class reference."

search documentation "uiapplication" , under subclassing notes

there appear couple of things wrong here i'll seek clear up. first of all, next doesn't create instance of uiapplication, simply variable of type.

var o: uiapplication

if want create instance of uiapplication, should doing this.

let o: uiapplication = uiapplication()

from there, correctly discovered, shouldn't creating additional instances of uiapplication. instead, should accessing singleton instance, sharedapplication().

note: have same issue orientation variable did app delegate variable.

anyway, when set together, can current status bar orientation following.

if allow theappdelegate = uiapplication.sharedapplication() { allow orientation = theappdelegate.statusbarorientation if orientation.isportrait { // portrait } else { // landscape } }

ios xcode ipad orientation swift

Comments

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

django - Access session in user model .save() -

php - .htaccess Multiple Rewrite Rules / Prioritizing -