What's the difference between "Requires full screen" and "Hide status bar" - xcode

In the general settings for an iOS app in Xcode, you have 2 checkboxes:
What's the difference between them?

Hide status bar
The name of the check box is pretty self explanatory.
To hide the status bar from your apps launch screen you need to tick the Hide status bar checkbox under the Project Target > General > Deployment Info
Requires Full screen
IOS 9+ supports resizable apps with multi-window support. Unless you are re-writing your app to support multi-window, you will be requiring 'Full screen'. This is a hint to iOS that you do not support multi-window, and basically makes iOS 9+ work like previous versions in this regard.

Related

Show popup window when in fullscreen mode on MacOS

Background
We are building a cross-platform application with "popup" reminders, they are custom windows/dialogs which uses QWidget.setWindowFlags like this:
self.setWindowFlags(
QtCore.Qt.Dialog
| QtCore.Qt.WindowStaysOnTopHint
| QtCore.Qt.FramelessWindowHint
)
These popups show up on the systems we have tested (MacOS, Lubuntu (LXDE)), even when we switch between different virtual desktops the dialogs are still shown in the current desktop. However:
Problem
When the user is in fullscreen mode on MacOS (Sierra 10.12.6) the dialog instead is shown in the last virtual desktop that was used
Question
How can we show our "popup" dialogs to the user even when the user is in fullscreen mode on MacOS?
The short answer is that you can't and neither can any other app.
Here's why.
The idea is that when you select the fullscreen view for an app, you want to focus exclusively on that app, to the exclusion of all others. So the app not only expands to fill the entire screen, it removes the menu bar and creates its own desktop space.
You can see how this works using Mission Control (by default, swipe up with 3 fingers). You will see all the apps and all the desktops across all your monitors. Next, set an app to full screen and swipe up again. You'll see that the app has a dedicated desktop (which I believe doesn't even have wallpaper).
The bottom line is that macOS fullscreen view does not support pop-ups.

Can a Mac App provide a Touch Bar while in the background?

Some Apple apps (such as Xcode and iTunes) add an item to the Control Strip on the Touch Bar that when selected shows the app's Touch Bar (e.g. Xcode's debugger and iTunes' scrubber) without bringing the app to the foreground.
Is it possible for a third party app to do something similar?
Yes. Spotify and TouchSwitcher do the same. Unfortunately, I am not aware of any open source program that you could look into.

How to adjust the status bar of my slider in my menu?

I have a big problem with my slider cause the status bar
Here is the result
http://img11.hostingpics.net/pics/859893Capturedcran20131006122142.png
How can I fix this problem ?
iOS 7 apparently supports the Status Bar being hidden for some views but not others. To hide it for all views, do the following:
1) Make sure Hide during application launch is still checked, to support previous OS versions. 2) In your Info.plist file, add View controller-based status bar appearance and set it to NO.
3) You may need to "Clean" before building, (I did), but then your app should work as before: no status bar hanging over your views!
read this tutorial
http://www.doubleencore.com/2013/09/developers-guide-to-the-ios-7-status-bar/

How action bar on devices with menu button functions

Essentially I'm confused over when and how the options menu is shown with devices with and without menu buttons on Android devices 3.0 and above.
Focusing specifically on options menu, I know from reading that the options menu is inflated in onCreateOptionsMenu (whether via menu button or action bar) and the Google developer site states that 'items in your options menu appear on the screen depends on the version for which you've developed', i.e. bottom menu or action bar.
I've tried a few apps (e.g. gmail) on a Nexus 4 and Samsung phone, both with Jelly Bean. The Nexus has no menu button and gmail displays the options menu in an action bar. On the Samsung there is a menu button and there is no action bar, you have to press menu.
Is the options menu handled automatically by Android or is there some code going on within the app to determine if a menu button is present?
Also, what further confused me (i.e. contradicted this thought) is the Android developer site says if you use Theme.Holo you get an action bar, which kind of tells me it's not implicit how the action bar is displayed.
Thanks for any guidance.
If you want to check if a device has softkeys use hasPermanentMenuKey using
boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey();
If that returns true it means you don't have the soft keys.
If guessing most android applications have some sort of built in functionality to do a similar check and determine whether a menu is needed or not.
Normally beginning with Android 4.0 the menu options embed into ActionBar and menu button is removed, but it's not necessary just optional and you have to handle it in your code to show to user
For the menu button on Samsung I guess it is only in the Samsung models, since if you can look at the new models of other device manufacturers, there is no menu button at all. Samsung takes the options button in the action bar to the menu button(harware button).

Mac SDK Fullscreen with numerous windows

I am making an app that has fullscreen support (enabled via interface builder). The app has another NSWindow that appears from time to time as a sort of 'inspector' like in pages and such. However when the primary window goes fullscreen, the secondary one does not accompany it, and I have to go back to my desktop to see it.
Is there a way of fixing this? i.e. when Safari is fullscreen, you can open the activity window and it accompanies safari in fullscreen mode. Thanks a lot!
If you've actually built an inspector-style panel window (e.g., by dragging a Panel or HUD Window from the Xcode object library into your nib), it will automatically accompany the primary window in fullscreen.
I believe the minimum requirements are that:
collectionBehavior includes NSWindowCollectionBehaviorFullScreenAuxiliary
collectionBehavior does not include NSWindowCollectionBehaviorFullScreenPrimary
either collectionBehavior includes NSWindowCollectionBehaviorTransient or level >= NSFloatingWindowLevel
If you read the documentation on full-screen mode, most of this is explained, although a few details (e.g., when these values are checked…) need to be discovered through trial and error.

Resources