Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible solution for backward compatibility with iOS v10. #27

Merged
merged 1 commit into from
Apr 3, 2019

Conversation

gustavost26
Copy link

There is a simple problem that breaks iOS compatibility before v10 due to the use of:

https://developer.apple.com/documentation/uikit/uicontentsizecategoryadjusting/1771731-adjustsfontforcontentsizecategor

which is only iOS 10.0+.

The suggestion is to check the iOS version and use this attribute only if the version is 10+.
Something in the line of:

import * as platformModule from "tns-core-modules / platform";

  let sdkVersion = parseInt (platformModule.device.sdkVersion);
sdkVersion> = 10? titleLabel.adjustsFontForContentSizeCategory = true: null;

or similar.
Nativescript mentions gracious degradation:
https://docs.nativescript.org/runtimes/ios/Requirements

but I could not find an elegant way to detect whether a particular attribute exists or not instead of verifying the version of the operating system.

Update:
The "most elegant" way may be using the respondsToSelector:

titleLabel.respondsToSelector ("adjustsFontForContentSizeCategory")? titleLabel.adjustsFontForContentSizeCategory = true: null;

These are the possible solutions to date.

You have my committee where I opted for the second solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants