XamaWIN – Changing the Jump List text color for iOS in Xamarin.Forms

Xamawin • zam-ah win | noun
A quick, easy to implement enhancement for a Xamarin App that improves performance, appearance, or functionality

I’ll admit, I spent way more time googling this problem than was necessary, especially considering how easy the solution ended up being. For context, I was creating a company directory page and had just implemented a pretty slick ListView to show the contact objects thanks to some help from James Montemagno’s Blog, but was dissatisfied with one thing: the jump list text was rendering as the iOS default color, rather than my brand color!

So, how to go about changing it? As one might expect (since Android and UWP both have no concept of a “jump list”), the solution lies in your iOS Platform specific project in AppDelegate.cs

        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
            /* Omitted for brevity */

            LoadApplication(new App());

            var result = base.FinishedLaunching(app, options);

            // Set tint for jump list
            app.KeyWindow.TintColor = UIColor.Black;

			return result;

The sticking point here is we need to set the value after base FinishedLaunching is complete, but before we return from the method; try and set app.KeyWindow.TintColor before and the app crashes before it even finishes launching. Thus, we get the value of FinishedLaunching, set our Tint Color, then return the result of the base method, and we’re all set! Check out the before and after below:

As always, feel free to browse the source

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s