ios8 and iPhone 6 Plus Tab Bar Size - objective-c

I am bulding an iOS8 app and i have noticed that on the iPhone 6 Plus my TabBars and Navigation bars are bigger than the stock Apple apps. I cant seem to find any documentation for this. How do i tell my top and bottom bars to resize for the bigger iPhones?
The screenshot below shows Maps next to my app. (Amended to show clock app instead.) I am pretty sure the clock app uses a TabBar Controller and not a toolbar as suggested below.

Do you have a proper Launch Image for the higher (#3x) resolution for the iPhone 6+? If you don't you're app is going to get scaled, which is probably why it looks bigger. Run your app with the debugger on an iPhone 6 Plus and look at the value of UIScreen.MainScreen.Scale. If it reports back "2.0", then you don't have a proper launch image for your app, the resolution is being scaled. Once you have the proper launch image, UIScreen.MainScreen.Scale should report back as 3.0.

As J2K said to you, your tab and navigation are ok. Apple Maps app uses searchbar at the top and toolbar at the bottom which are smaller. Don't waste time on this, ios will handle the size for this elements for you in all iphone sizes

Related

xcode not recognizing screen size height 677

I have an app I am updating because of the Launch Screen requirement instead of launch images.
In so doing I came up with many many warnings that "views without any layout constrainsts may clip their content or overlap other views". When I went in and tried to address the problem no matter what I did the warnings multiplied. So I am attempting to rewrite my code to get the screen size and place and size my objects for each phone. The problem is that Xcode apparently does not recognize iPhone 6 screen size on the actual device. In the simulator iPhone 8 is recognized but I don't have an actual iPhone 8 to try out. I would assume it is the same size as the iPhone 6. I have looked on line and I saw this was a problem and possible fixes were to "make sure iPhone 6 launch images were available", but since launch images are no longer that isn't a solution. I also tried
if([UIScreen mainScreen].fixedCoordinateSpace.bounds.size.height == 667.0){
also but that didn't help either.
I can't believe Apple doesn't want to have developers not get the screen size for iPhone 6.
Is there a work around or new way to get screen size for iPhone 6?
Does this problem happen on iPhone 7 and 8 and iPhone 6,7,8 +?
I just saw that I have to include specific sized launch images with my launch screen with specific names. Is this true? How do I do this? Is there a GOOD tutorial?
I am at my wits end and need a solution.
I found a place where I created and installed images for all iphone and ipad portrait sizes and put them in Launchimage in my image asset folder. my app only runs in portrait so I didn't think I needed to make landscape images. Anyway, even with all the correct size images, iphone 6 4.7" and 5.5" it still launches seeing the iphone 6 as a 5. In fact now it launches with a blank screen no launch images showing up at all.
So I added the landscape views and had forgotten an iphone portrait view. Now in the simulator iphone 8 and 8+ are recognized as the correct device by height but the launch image still isn't loading for iphone 8 and 8+ as well as ipad 7gen, air3gen, and pro 9.7. Only loads images for iphone11, 11pro, 11promax and ipad pro11 and 12.9.
On the actual iphone 6 the launch images isn't loaded and it still is recognized as an iphone 5. This has to be a Mess up by Apple.
Suggestions?
Thanks

Xcode 6 & Swift: Black bars appear above and below the viewcontroller on iOS 7 iPhone 5 device

I created a single view test app and tried running it on my iPhone 5 with iOS 7 installed. It looks like the screen is set to the iPhone 4 size and black bars appear above and below the view controller. I just created the project with Xcode 6 and tried running it without touching any other settings. Has anybody else seen this?
In order to solve this problem you have to create launch-screen images for the devices your app supports.
When starting a new app:
For instance let's say your app supports iPhones > 4s, so iPhone: 4s, 5, 5s, 6 and 6plus.
Make sure to make launch-images which have the following dimensions:
iPhone4s = 640 × 960
iPhone5, 5s = 640 × 1136
iPhone6 = 750 x 1134
iPhone6plus = 1242 x 2208
For more info about iOS screen dimensions, see this helpful chart
Select your project and then the general settings:
Select or make launch screens in the general section when clicked on your project.
And then make sure you add or select an Launch-image asset:
Go to images.xcassets and select LaunchImage at the left, then select the devices your app supports (at the right)
Make sure you put your images on the right spot, you can select the dashed square and see in the attributes inspector (right section on screen) what dimensions your image needs to meet.
Now when simulating your app all black bars have disappeared.
You need to add a Default-568h#2x.png launch image. Here is one that I found by googling (I didn't create it and take no credit for it):
https://jira.appcelerator.org/secure/attachment/31241/Default-568h#2x.png
If you want to create your own image its dimensions have to be 640 × 1136. Since you did no customizing the filename should be "Default-568h#2x.png".
For some reason, the default LaunchScreen.xib that comes with a new project on Xcode 6.1 is 480x480, while the standard .xib file size for auto layout and adaptive layout appears to be 600x600. If you set the LaunchScreen.xib view size to 600x600, it should fix the problem, did for me.
Make sure you add a launch image for your device screen size and that will fix your problem.
I have had the same issue. In my universal app I configured orientation for iPad and iPhone and forgot to set back devices drop down to Universal (on target general settings screen). When I set it back - screen shows as expected.

How to position static buttons and iPhone 5

I am working on an app where i have 12 buttons and labels underneath on one of the views. They are placed on the storyboard directly. I want to make sure they will get properly repositioned in iPhone 5. The solution that i tried is just to deselect all the lines in the autosizing for all the buttons. Now when i try it on iphone 5 the buttons get resized. The problem if i stretch the storyboard and move the buttons they get messed up when running on the smaller screen. So i can only position them on the smaller screen and then it seems to work. The app does not rotate. I would like to know if this is a good solution or there is a better solution for this case. I would like for the app to support iOS 5+
Thank you!
If you want layouts to work with varying screen sizes, you should become familiar with the new constraint-based layout scheme in iOS 6. A WWDC video on the subject can be viewed at http://www.youtube.com/watch?v=Dkr9eKxlMAk&feature=player_detailpage.
Essentially, you're going to use the old struts and springs system for pre-iOS 5 and conditionally use the new scheme for iOS 6. (iPhone 5 won't run any iOS version prior to 6.)

iOS 6 - Handle iPhone 5 screen size without Default-568h#2x.png

We are working on a game, that renders a couple splash screens while loading.
So we are not using Default.png or Default#2x.png, because it makes sense for the screen to be blank on startup.
So how to do you get iOS 6 in the iPhone 5 simulator to render our game full screen without the splash screen image mentioned here? Do we just need to think about using splash screen images? Is it the only way? I would think there should be something you can turn on in Info.plist.
We would still prefer to not use splash screen images, since it would make our app bundle larger--we are very close to 50MB.
I do not know if there are any other methods iOS uses to detect support for the iPhone 5 screen size, but maybe you can include a blank splash screen?
I completely black png shouldn't take up much space.
If you use an empty Asset Catalog for your Launch Images, the iPhone 5's screen size is supported (without having to include any image files at all).
For what i know, adding this Default is the only way to handle iPhone 5 screen.
Maybe you can just add Default images that are only black
I think you can add a 568 launch image to gain full screen, and empty Launch Images option in general setting.

Is it possible to create a full-screen UIImagePickerController (with camera source) on an iPad 2?

My goal seems simple: Replicate the behavior of the iPad 2 camera app with regard to previewing/taking still photos. Namely, I want to display the preview in a full-screen window.
Unfortunately this seems impossible on the iPad 2 with a UIImagePickerController. A UIImagePickerController must be hosted within a UIPopoverController, and according to the docs:
When changing the size of the popover’s content, the width value you specify must be at least 320 points and no more than 600 points.
This is fairly consistent with the results I've been seeing. Regardless of the size I specify, I see a small preview window. Is there a way to get around this with the UIImagePickerController?
The docs are confusing/wrong on this. You can also present the camera full screen using a navigation controller with presentModalViewController. This is exactly the same as on iPhone.
Note, this only works on a device, not on the simulator.