how to change mainwindow.xib's orientation to landscape? [duplicate] - landscape

I appreciate I'm probably missing something basic here, but...
My iPad app will only support landscape mode, and has a MainWindow.xib Window that I'd like to work on in landscape mode in XCode 4, however the pull-down menu to change this (Simulated Metrics -> Orientation) is always grayed out.
I notice that Views can be rotated just fine, it's only Windows that can't be rotated in XCode 4 using this setting.
Is there a workaround for this, or do I have to put a View on top of the MainWindow in order to rotate it?

I think it's because apps always starts up in portrait and then rotates to appropriate oriantations. From the UIViewController docs:
Note: At launch time, applications should always set up their
interface in a portrait orientation. After the
application:didFinishLaunchingWithOptions: method returns, the
application uses the view controller rotation mechanism described
above to rotate the views to the appropriate orientation prior to
showing the window.
So you'll need the UIViewController magic for the simulated metrics to make any sense. If you used the "Window-based application" template as a starting point for your project try the "View-based application" template instead.

Related

Need only tab bar in portrait mode and all viewControllers in landscape mode

I am developing an iOS app in landscape mode, except that I need the tab bar to be on the right side(vertically). I was wondering if I could display all the viewControllers(navigation driven app) in landscape mode and only the tabbarController in portrait mode?
In other words, can I set the orientation of all viewControllers to landscape mode and set orientation of only the TabBarController to landscape mode so that I can affectively make it appear on the right side?
Any pointers are greatly appreciated.
Thanks much!
This is probably not the answer you are looking for, but I would highly recommend to open the UITabBarController & UITabBar headers to get an idea on how a tabbar is implemented, and start creating/subclassing your own, instead of hacking the existing components together. You'll need at least a viewcontroller, an array to retain the viewcontrollers represented by tabs, a view to display the active viewcontrollers view and a pointer to the active viewcontroller.
The learning curve for writing your own viewcontrollers is much higher, but trust me, it is worth it.

IOS reorganize graphics on rotation

I'm making an iPad application with 19 buttons which are alle graphics. They are aligned next to and underneath eatchother, like in a grid. In portrait mode they are displayed nicely (because that's how I've set them) but I don't know what settings I need to choose for landscape mode.
When the device turns to landscape I've got room for 4 columns in stead of 3 in portrait for instance.
How can I make the app automatically adjust they layout of the buttons when rotated?
Thanks
In iOS5.1 or older, you will need to do this in code. In iOS6, its possible you can use a UICollectionView - not sure haven't played with it.

iOS App Portrait and Landscape Views

I'm trying to make and iOS app with both portrait and landscape views, but if I open it and change the orientation to Landscape, some buttons got offscreen, after going to IB and reordering the buttons, in Portrait they go off screen.
After googling, I dont have ANY ideia how to 'change' views according to orientation.
Could you guys give me some help?
Ah, also, Apple Support Documents seems pretty useless to me :P
Thanks!
There a method - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{}
which is useful in such cases.
You should change autosizing properties in IB (they're in the same place where frame size is) or change autoresizingMask properties of your inner views and controls programmatically. This controls what happens to the elements of your screen after it gets resized (for example when the screen is rotating). You can glue your components to left or right or both, top or bottom or both and similar. Play with it, it's pretty powerful and you don't need any code for that if what they can do is enough.

iPad orientation

I have question regarding changing orientation on iPad.
I use MonoTouch, but if Obj-C programmers can help, it will be just as great.
First of all, I figured out if I provide different splash screen images for different orientations, app will show the right one. This can be done for any orientation, such as "Default-LandscapeLeft.png", or generic one "Default-Landscape.png".
All of my images are of correct dimensions and yet, when I start it in portrait mode, it shows it enlarged. All of other modes work perfectly well.
Second problem is I want my app to continue to be in that orientation after my first controller appear. At the moment, it shows portrait in any case. I started generating orientation notifications before first controller appeared (UINavigationController), but I think it responds only on orientation changes. After I moved device, it rotates and from that moment, everything works fine. BUT, I want to "inherit" orientation info from my splash screen.
Any idea will be appreciated.
Thanks guys and girls.
Cheers
Images for different orientations:
Default.png and Default-Landscape.png should be provided + setting the app settings to provide the required orientations.
Second problem:
After creating the first controller call
myController.WillRotate(UIApplication.SharedApplication.StatusBarOrientation, 0);

Seems like it should be easy: Landscape Scrolling Text Field

I have a application that I am working on that is in landscape mode and does not rotate. However I can not get the text field to rotate. I have been putting in way to many hours so don't be to harsh if this is a easy answer...
Are you using Interface Builder to create the view? In that case, adding the UITextField to the UIView in landscape mode. In case you do not know how to use IB for creating views in landscape mode, open the UIView object in IB. There is a small arrow on the top-right corner of the view. Click on that arrow to rotate the view to landscape mode.
Edit your Info.plist file so that it includes the "Initial device orientation" key and specify UIDeviceOrientationLandscapeLeft (the Home button should be to the right if an app opens in landscape, according to Apple's UI guidelines). Some samples come with this property already in the plist, but most don't.