overrideUserInterfaceStyle on Mac Catalyst not effecting the Toolbar / Title bar? - uikit

I'm giving my users a way to configure the dark mode style of an application. I achieve this by setting the overrideUserInterfaceStyle property of the windows on every WindowScene of the application.
This works on iPad and iPhone, but on Catalyst the toolbar area of the window does not change style. It's always the same as the system.
Is there a different technique required to change the interface style of a Catalyst application?

Related

Xamarin.Forms UWP Application doesn't work on XBOX as native

I have tried my UWP app on XBOX one which is built using xamarin.forms and it works generally fine but by default mouse mode is active. I changed it using
RequiresPointerMode = Windows.UI.Xaml.ApplicationRequiresPointerMode.WhenRequested;
on UWP level in app.xaml.cs and it disabled mouse pointer but problem is that using game pad, i am not able to select items on the UI. I can navigate through textbox and buttons but not Toolbar (Commandbar in uwp), ListView, Masterdetail, Tabs etc.
I created a blank native UWP application and added a commandbar with AppBarButtons and NavigationView with NavigationViewItems. It perfectly works, I am able to navigate between menu items and commanbaritems using mouse pad.
Why this is not working for Xamarin.Forms? is xamarin.forms not actually native for UWP?
Xamarin.Forms MasterDetailPage was written before NavigationView existed and it doesn't use it at all (and especially not with NavigationViewItems, that would limit the flexibility, i don't think it will ever be used).
As SplitView has some focus bug that I can confirm it doesn't come as a surprise that it doesn't work with XBox as expected. However UWP doesn't grant that the app will work properly when you disable the mouse mode with native controls, that's why it is enabled by default. There are properties like XYFocusLeft that must be set if the app is not working properly. You probably need to make custom renderer to expose those properties and set them right. That's pretty much of work to do but it is up to you to decide...

How to design UWP app UI?

I am working on a UWP app and I am new to windows 10 development. I want to create an app which will work on windows pc, mobile and tablets. In visual studio when I try to design UI for different screen sizes, UI changes happen in every other screen sizes. For example, if I made some changes in 8' screen UI then 5' mobile UI totally messes up. Can anyone suggest something?
What you are trying to do is a "Responsive UI design" which will automatically manipulate their properties when the screensize were triggered by the devices height or width, most of the time is the device's Width.
Here is the official guide on how to do the responsive design.

Swift - Problems with layout

I have a Universal application in Swift 2.0 developed in XCode 7.
On the storyboard simulated metrics, I have the 'size' set to 'iPhone 4.7-inch'.
When I run the application on my device (iPhone 5s), none of the labels are aligned and the toolbar is out of view. -This is also the case when I run using the iPad device in XCodes simulator.
Image of what the view controller contains ...
From the snippet above, when I run this VC on my iPhone there is no margin on the right side, and the toolbar is cropped off.
Can anyone advise how I can make a universal application show all the content in the VC, on all devices. Or how I would simply show the toolbar ...
That's what auto layout (constraints) is for.
On the storyboard simulated metrics, I have the 'size' set to 'iPhone 4.7-inch'.
That's irrelevant, and indeed misleading, since in means that only on the iPhone 4.7-inch will your app look like the storyboard design — unless you use auto layout.
iPhones come in many screen sizes. Basically, you have no way of knowing, as you design, what the screen size will actually be! Auto layout is the solution. Auto layout allows your interface elements to adjust automatically as the app launches on a particular size screen. iPads can serve as an extension of this — i.e., just an even larger size screen — or you can even use conditional constraints to make the interface quite different on the iPad from the iPhone, if desired - all designed in a single storyboard.
Maybe you are using auto layout and auto constraint. You could deactivate this in opening the storyboard, open up right panel , go to "show the file inspector" section and under Interface Builder Document uncheck auto layout and auto constraint
Image here
Select your item view, go into "Show the size inspector" and there you can set your autoresizing for all devices

How do I get Autosize feature to show up for objects in Interface Builder?

I'm brand new to Mac OS X development and to Xcode and the Cocoa framework. I've been working through the "Your First Mac App" tutorial on the Apple's developer website and have run into a snag. I've made it most of the way through but am hung up in the section where it shows you how to use Autosizing on the gui objects. When I click on the slider(or any of the objects) and then select the size inspector I do not have any of the autosize items in the inspector window like it shows in the tutorial. How do I get those options to show up?
This is a new feature in XCode 4 called Constraints. It's just an other way to define how your user interface should be resized when the window (or parent view) is resized. If you want to use the Autoresizing Mask settings from the tutorial, go to the File Inspector (first tab on the right) and uncheck Use Auto Layout.

Managing interface builder's window layout

I have my macbook pro hooked up to an apple cinema display. I want to work on my code on the laptop but have interface builder on the cinema display. It needs to be this way because my laptop screen doesn't have the resolution to show a full iPad interface layout in IB so I would need to scroll up and down.
The thing I am fighting with is that whenever I open a XIB, or when IB starts, it places any new app windows back on my laptop screen. Is there any way to define a window layout for IB to use, and tell it to start all windows on my second screen by default? Thanks
Unfortunately Interface Builder does not currently save window positions (which include what screen they're on).
You might have limited success using Spaces, which assigns specific applications to specific spaces, but I'm not sure how it would work with multiple screens.

Resources