iPhone X vs others status bar hidden - ios11

Apple advices us to avoid hiding status bar on iPhone X. My app hides status bar for all devices. But does it give a clean way to hide status bar on all devices where the bar doesn't interferes with UI as in iPhone X? Also I see status bar gets invisible in landscape mode in simulator. Not sure if it is a bug or a feature.

Q: Status bar in iPhone-x
The status bar displays information people find useful.
Based on your UI & requirement you should design
Acoording to Apple Guideline-
If your app currently hides the status bar, reconsider that decision
on iPhone X. The display height on iPhone provides more vertical space
for content than the displays of 4.7" iPhones, and the status bar
occupies an area of the screen your app probably won't fully utilize.
The status bar also displays information people find useful. It should
only be hidden in exchange for added value
Q: Also I see status bar gets invisible in landscape mode in simulator
Yes, in landscape iPhone-x hides status bar
See video of iPhone-X hands on experience at 0:29
I just checked in iOS11 with iPhone SE & iPhone-6s which hides status bar automatically in landscape mode.
Also when you are in landscape mode there is no in-call-status bar in iOS11

Related

Black screen flashes at the start android app

The black screen is visible for a moment at the start of the app in android devices. I've tested in all of my recent apps and it is there. In some devices, the black screen appears a bit longer especially in oreo.
Have a look at the video here
How can I solve it?
This is triggered because your start method is taking too long to process the Form or the Form's rendering code is too slow. When that happens Android tries to draw your app but it takes too long and so it just shows what it has.
Remove the clutter from start and just show a Form that's a splash screen then transition to the actual app. Optimize your actual app UI by using profilers & the performance monitor tool.
In my opinion, showing a splash screen before the actual app (as suggested by Shai) is a good idea to be sure that all the splash screen images generated for iOS by the Codename One build servers are as you want them: in this way, the app startup look will be very similar on iOS and Android. Some popular app, like Facebook, use a splash screen that show their icon at the middle of the screen.
However, about your question, in my "new" Android 7 device, almost "all" the apps, even the ones preinstalled with Android, show a blank screen for a fraction of second at startup. So I suppose that it's normal. That blank screen is usually white, but is some app the color of the blank startup screen is different (for example, in ES File Manager is gray). Also my Codename One apps show a blank white screen at startup (before the splash screen in the apps in which I implemented it). Maybe the color of the startup blank screen depends on the styling of the app.

Ionic app rendering incorrectly after camera opened

I have an ionic 1 app that uses $cordovaCamera to retrieve a photo from the user. Oddly, after the camera is opened (doesn't matter whether the user takes a picture, cancels, or picks one from library) the app renders incorrectly once it's closed. The status bar overlays the top of the view, and the bottom of the view overflows off the viewport. However, if you re-orient the device (go from portrait to landscape) it will fix itself.
Is there any way to force the app to repaint manually?
Extra info regarding the bug itself: I created a new ionic 1 app separately and copied the camera code over exactly and it does not have the same problem. Same versions of ionic, angular, ngCordova, and the camera plugin. So I believe the actual rendering problem is specific to my app. However, after a full day of messing around I can't figure out for the life of me what's happening.
We had the same issue with the cordova-plugin-statusbar version: 2.2.1
The solution was pretty simple. We downgraded this dependency to version 2.2.0 and everything worked as expected again.
To use an exact version of a cordova plugin, specify it in the config.xml of your project as in example below:
<plugin name="cordova-plugin-statusbar" spec="2.2.0"/>
Don't forget to remove ./platforms and ./plugins folders and to run cordova prepare after downgrading the plugin versions.
take a look at this plugin:
cordova-plugin-hidden-statusbar-overlay
just install it, and after calling the camera, run this code:
window.plugin.statusbarOverlay.hide();
The answer ended up being pretty easy: REMOVE the status bar plugin.
I was under the impression that the status bar plugin was needed to make it appear at all but this is not the case. The StatusBar plugin only lets you style it - but since iOS 9 you can only choose from 2 options anyway.
Remove the status bar plugin completely. Don't forget to edit your bower.json, config.xml, the initialization code in your ionic app that sets StatusBar defaults, etc.
Add padding or margin to the top of your app when the body element has the class platform-ios. Per the Apple Developer Docs:
Obscure content under the status bar. By default, the background of the status bar is transparent, allowing content beneath to show through. Keep the status bar readable and don’t imply that content behind it is interactive. There are several common techniques for doing this:
1) Use a navigation bar in your app, which automatically displays a status bar background and ensures that content doesn’t appear under the status bar.
2) Display a custom image, such as a gradient or solid color, behind the status bar.
3) Apply a blur to the content behind the status bar.
What you should end up with is the exact same appearance without the plugin.

Windows 10 UWP - White space on Windows Phone Emulator

I'am developing a Windows 10 Universal App and every time I debug it on the Windows Phone emulator, I get the following "white space" on the top of my view (yellow in the picture).
Does somebody know this issue? What can I do?
When I debug it on my local machine (as a windows store app) there is no white space on top. Maybe it is the navigation bar or something like that??? It seems like there is a top margin set to all of my views ...
It's the Status Bar, which only shows up on mobile. In UWP, the background color of the Status Bar seems to inherit from the background of the main page. So, if the background color of your Page is set to White, but your RequestedTheme is set to Dark, you'd see something like this. Try changing the background color of your main page, or the RequestedTheme property.
It's also possible to hide the Status Bar in a UWP app.
I wrote up a quick blog post about this:
https://stenobot.wordpress.com/2015/07/08/uwp-app-development-styling-the-mobile-status-bar/

Detect navigation buttons bar appearance in WP8 Silverlight app on Lumia 730/735

Lumia 730/735 have the on-screen navigation buttons, and this bar can be hidden/displayed using the swipe upward screen gesture. System apps correctly process the moment when this bar is hidden or displayed - they increase/decrease the height of their current page accordingly.
I have been developing a WP8 Silverlight app to manage checklists for 2 years. Recently I've obtained a Lumia 730 phone, and I'm testing my app on it. As I can see, some pages of my app does not fit the available screen size automatically. Look, for instance, at the following picture - I can't scroll a checklist to see the very last item when the navigation buttons bar becomes visible (the right screen):
As I understand, this happens because of some settings and non-standard page layout I use. My question is the following: how can I detect the moment when the visibility of the on-screen navigation buttons bar changes to correct the layout of my page from code?
Unfortunatelly, as far as i know, you cannot get any information about the bottom on-screen navigation status bar in Windows Phone 8. This is a good reason to develop a Windows Universal application. Propably this is what Microsoft wants from the developers.

About the application with the i icon at the bottom of the screen

I searched for this and couldn't find any references to this.
In my iOS universal app, I wanted to display the information icon (same as the utility application) at the bottom right of my main view controller and use the same both for iPhone and iPad to flip over to display information about my app and other things. On the iPadd Utility application template with XCode 4.6, the information icon is displayed as a button on the navigation bar and a UIPopOver control is used to display information.
In my case, I don't want to use a UIPopOver on the iPad but use the same flip over effect both for iPhone and iPad when clicking the information icon. Is this a valid as per Apple's guidelines or guaranteed for rejection?.
I do exactly what you're thinking of doing in my app. I used the flip transition to display my info page using the information icon as the button image. I had no problems with Apple regarding this when I submitted.

Resources