Apply getter check to determine if API is exposed as property or as method for iOS backward compatibility

This commit is contained in:
Panayot Cankov
2016-09-12 12:54:38 +03:00
parent e9c7c5a749
commit b81c034f67
29 changed files with 174 additions and 113 deletions

View File

@@ -2,6 +2,8 @@ import viewModule = require("ui/core/view");
import common = require("./background-common");
import * as styleModule from "./style";
import * as utils from "utils/utils";
global.moduleMerge(common, exports);
var style: typeof styleModule;
@@ -193,7 +195,7 @@ function drawClipPath(view: viewModule.View) {
borderLayer.path = path;
borderLayer.lineWidth = view.borderWidth * 2;
borderLayer.strokeColor = view.borderColor.ios.CGColor;
borderLayer.fillColor = UIColor.clearColor().CGColor;
borderLayer.fillColor = utils.ios.getter(UIColor, UIColor.clearColor).CGColor;
borderLayer.frame = nativeView.bounds;

View File

@@ -3,6 +3,8 @@ import common = require("./font-common");
import fs = require("file-system");
import * as traceModule from "trace";
import * as utils from "utils/utils";
export class Font extends common.Font {
public static default = new Font(undefined, undefined, enums.FontStyle.normal, enums.FontWeight.normal);
@@ -45,7 +47,7 @@ export function ensureSystemFontSets() {
return;
}
var nsFontFamilies = UIFont.familyNames();
var nsFontFamilies = utils.ios.getter(UIFont, UIFont.familyNames);
for (var i = 0; i < nsFontFamilies.count; i++) {
var family = nsFontFamilies.objectAtIndex(i);
systemFontFamilies.add(family);
@@ -98,7 +100,7 @@ function createUIFont(font: Font, defaultFont: UIFont) {
}
if (!descriptor) {
descriptor = defaultFont.fontDescriptor().fontDescriptorWithSymbolicTraits(symbolicTraits);
descriptor = utils.ios.getter(defaultFont, defaultFont.fontDescriptor).fontDescriptorWithSymbolicTraits(symbolicTraits);
}
return UIFont.fontWithDescriptorSize(descriptor, size);
@@ -115,19 +117,19 @@ function tryResolveWithSystemFont(font: Font, size: number, symbolicTraits: numb
else {
systemFont = UIFont.systemFontOfSize(size);
}
result = systemFont.fontDescriptor().fontDescriptorWithSymbolicTraits(symbolicTraits);
result = utils.ios.getter(systemFont, systemFont.fontDescriptor).fontDescriptorWithSymbolicTraits(symbolicTraits);
break;
case common.genericFontFamilies.monospace:
if ((<any>UIFont).monospacedDigitSystemFontOfSizeWeight) {// This method is available on iOS 9.0 and later.
systemFont = (<any>UIFont).monospacedDigitSystemFontOfSizeWeight(size, getiOSFontWeight(font.fontWeight));
result = systemFont.fontDescriptor().fontDescriptorWithSymbolicTraits(symbolicTraits);
result = utils.ios.getter(systemFont, systemFont.fontDescriptor).fontDescriptorWithSymbolicTraits(symbolicTraits);
}
break;
}
if (systemFont) {
var result = systemFont.fontDescriptor().fontDescriptorWithSymbolicTraits(symbolicTraits);
var result = utils.ios.getter(systemFont, systemFont.fontDescriptor).fontDescriptorWithSymbolicTraits(symbolicTraits);
return result;
}
@@ -291,7 +293,7 @@ export module ios {
if (!fs.File.exists(filePath)) {
filePath = fs.path.join(fs.knownFolders.currentApp().path, fontFile);
}
var fontData = NSFileManager.defaultManager().contentsAtPath(filePath);
var fontData = utils.ios.getter(NSFileManager, NSFileManager.defaultManager).contentsAtPath(filePath);
if (!fontData) {
throw new Error("Could not load font from: " + fontFile);
}