Possible solution for backward compatibility with iOS v10. #27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.