This has been driving me nuts.
I have a toolbar on my iPAD application and its translucent property is set to 'YES'. I am doing this in my storyboard:
When I run on an iPad Air things look good. However if I run on an iPad 2 the toolbar is not translucent. I experience the same problem in the simulator and on an actual device.
This is also not a problem across different versions of the OS. IE no matter what OS I run (iOS 7 or iOS 8) its wrong on an iPad 2 but correct on an iPad Air.
Why????
Is there anything I can do to get a consistent L&F across these devices?
Translucency - which uses blur - is computationally expensive.
If you compare the control panel or notification menu between iPad 2 and iPad Air, - you will see that Apple has disabled translucency on the lower powered device as it can't really cope.
That applies to iPad2, iPad3, iPad mini and maybe some older iPhones and iPod Touches. Even higher-powered devices can give poor results if you over-use these effects.
If you need a completely consistent look and feel, you should resist using properties that take advantage of translucency and blur effects. Another option is to play around with view alpha, background colour and tint to get a semi-tranparent look on devices that don't support translucency.
For more information on device support for UIVisualEffect, which seems to coincide with 'translucency' property support on UI objects:
Check if device supports blur
Detect if device properly displays UIVisualEffectView?
Related
I just recognized that I can see thru the iOS Simulator if an UIView is defined with (semi-) transparent content. But I can not make a screenshot of it, on the screenshot the effect is gone.
The (custom) navigation bar on top has alpha set to CGFloat(0.9).
Here a screenshot taken with an iPhone 6:
Zoom in and you can see thru the simulator window on Xcode. I assume this is a bug, or is it intended behavior of the OS X transparency effects? If it is intended, can I turn it off?
Ok, I have found the problem. Actually it is not a transparency effect but a display problem. I am using an iMac 27inch with an IPS LCD display, which suffers heavily from "screen burning". Xcode is standing on this position for hours so it burned in into the display. That's why I can not make a screenshot - it is a hardware problem.
https://discussions.apple.com/thread/5255653?tstart=0
Yeah this is going to be a hardware / screen problem. Should not translate to your app.
The iPhone 6 Plus has a "one handed mode" that Apple describes as "Keep everything within reach" on their iPhone design page.
The mode is enabled by double touching (but not pressing) the home button. When enabled the screen shrinks to roughly half its normal height.
Is there a way to enable this mode in simulator for testing how it looks and transitions?
I'm running Xcode 6 GM and have not been able to uncover anything. Worst case, can someone post the exact dimensions on device so it can be emulated via the resizable iPhone simulator?
Update: According to John Gruber's review, the feature is available on the iPhone 6 Plus and 6, and is not a "mode" so much as a momentary shortcut. Maybe since it only lasts for one tap it won't be important to do extensive testing. He shared a screenshot showing the corresponding size difference:
The simulator doesn't seem to have this capability, but it doesn't matter since it just moves your app's entire view down and uses the home screen background to fill the top. Devs don't need to do anything to their apps in regards to it.
Starting with the iPhone 4S UIToolbar blurs the background. However the user can manually disable blurring in the Settings under General > Accessibility > Increase Contrast > Reduce Transparency.
Can I programmatically find out if the iPhone actually does use blurring?
The reason is I'd like to adjust the background and barTintColor in case of blurring being disabled or unavailable.
Related, for the "Darken Colors" setting I found a hack to detect it. I'm looking for something similar for the blurring as I'm not aware of a public API for this.
It's possible to check user's Reduce Transparency setting under iOS 8 with: UIAccessibilityIsReduceTransparencyEnabled().
As for the devices running iOS 7, blur isn't supported on iPhone 4, iPad 2 and 3 (I'm not 100% sure about iPad 2).
I'm using the iOS simulator from xcode 4.3.1,
and the "TV Out" option doesn't seem to be doing its thing.
I've tried it with a variety of simulated devices and tv resolutions,
but always just get a black screen.
Perhaps it doesn't support the default Mirroring which comes w/ the iPad 2 & 3 ?
That is, when i hook up a VGA cable to an actual iPad 2, i get a nice mirroring of the 'desktop' and whatever app i run.
Possibly the simulator only respects explicit video-out to screen 1 ?
eg:
UIScreen* secondScreen = [[UIScreen screens] objectAtIndex:1];
tia,
Orion
I found this forum post which pointed out that there's a problem with landscape showing up on the secondary screen for the simulator.
Every time I've tested outputting to a secondary screen seems to work in portrait, but not in landscape. Hope that helps!
Does anybody know why home button is missing for iPad simulator only?
Its a simple redesign to make more space for the simulator screen. You can trigger the home button from the menu Hardware > Home Or using the shortcut: ⇧⌘H.
I don't think this is an enhancement at all. This is by far a notorious bug and a bad one. I know that home button action can be reproduced by cmd-H or its double click by doing cmd-H twice, though it could activate the slow motion animations too (annoying!). My point here is that whenever you run the simulator and start testing doing rotations (cmd-arrows), at one point you won't be able to tell if iPad orientation is to the right or to the left!... there's no visual clue whatsoever!
Bad Apple!, bad Apple!
It appears it is looking at whether or not there is adequate screen resolution to display the bezel. For example, I have a 17" Macbok pro that I develop on (1920x1200 resolution). When I launch an iPad development project and the suimulator comes up on my Macbook pro's desktop, no problem, the bezel shows. But let's say I then drag it over to my external monitor which is 1920x1080, then quit and relauinch the simulator... it comes up without a bezel.
My co-worker who has a Macbook Pro 13" (lower resolution), never sees the bezel. I suspect the newer retina Macbook Pros will always show a bezel.
This is of course, al pertaining to the regular, non-retina iPad simulator. I am not sure if given adequate screen resolution, the iPad retina simulator would show a bezel or not?
See http://openradar.appspot.com/11017007 for the real answer: "Engineer who removed the bezel from scaled iOS Sim not thanked enough, probably"
I personally don't need more screen space for the simulator with my Thunderbolt 27" display. I'd like the frame back, thank you very much! I also noticed with this version the application icons often show as blank white icons, even for Safari and Photos.
No, but you can trigger it from the menu bar (Hardware -> Home).