用于负数输入字段的 NativeScript 键盘
NativeScript Keyboard for Negative Number Input Field
我正在使用 Nativescript 创建 Android 和 iOS 应用程序。因为它是一种计算器,所以有很多数字输入字段。
这些数字是十进制的,可以是负数。所以我需要一个带有数字、小数点和减号(破折号)的键盘。
因此我使用键盘类型"number":
在Android中打开的键盘没问题。
但是 iOS 中的那个有很多不必要的字段,例如“(”。iOS KeyBoard
我发现 iOS 中没有带有我想要的字段的键盘:
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextInputTraits_Protocol/index.html#//apple_ref/c/tdef/UIKeyboardType
但是很多人用"DecimalPad"加上一个包含减号的"inputAccessoryView"来解决这个问题。在 NativeScript 中有解决这个问题的好方法吗?
干杯
您可以使用本机 iOS API 来创建您的自定义键盘。
这是一个在您的键盘上添加取消按钮的示例,您可以根据该概念完全自定义您的键盘类型。
page.xml
<Page xmlns="http://schemas.nativescript.org/tns.xsd" loaded="onLoaded">
<StackLayout>
<TextField hint="" text="1425" id="tf-toolbar" />
</StackLayout>
</Page>
page.js
function onLoaded(args) {
var page = args.object;
// if app.ios ...
var myTextField = page.getViewById("tf-toolbar");
// for the sake of example no target and actions are set (null)
var barButtonItemOne = UIBarButtonItem.alloc().initWithTitleStyleTargetAction("Cancel", UIBarButtonItemStyle.UIBarButtonItemStyleBordered, null, null);
var items = NSArray.arrayWithObject(barButtonItemOne);
var toolbar = UIToolbar.alloc().initWithFrame({ origin: { x: 0, y: 0 }, size: { width: 320, height: 150 } });
toolbar.barStyle = UIBarStyle.UIBarStyleBlackTranslucent;
toolbar.items = items;
toolbar.sizeToFit();
var iosText = myTextField.ios;
iosText.inputAccessoryView = toolbar;
}
exports.onLoaded = onLoaded;
以上示例基于@Luda提供的源码here
有关如何 "translate" Objective-C 到 NativeScript 的更多信息,您可以找到 here
我正在使用 Nativescript 创建 Android 和 iOS 应用程序。因为它是一种计算器,所以有很多数字输入字段。 这些数字是十进制的,可以是负数。所以我需要一个带有数字、小数点和减号(破折号)的键盘。
因此我使用键盘类型"number":
在Android中打开的键盘没问题。 但是 iOS 中的那个有很多不必要的字段,例如“(”。iOS KeyBoard
我发现 iOS 中没有带有我想要的字段的键盘: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextInputTraits_Protocol/index.html#//apple_ref/c/tdef/UIKeyboardType
但是很多人用"DecimalPad"加上一个包含减号的"inputAccessoryView"来解决这个问题。在 NativeScript 中有解决这个问题的好方法吗?
干杯
您可以使用本机 iOS API 来创建您的自定义键盘。 这是一个在您的键盘上添加取消按钮的示例,您可以根据该概念完全自定义您的键盘类型。
page.xml
<Page xmlns="http://schemas.nativescript.org/tns.xsd" loaded="onLoaded">
<StackLayout>
<TextField hint="" text="1425" id="tf-toolbar" />
</StackLayout>
</Page>
page.js
function onLoaded(args) {
var page = args.object;
// if app.ios ...
var myTextField = page.getViewById("tf-toolbar");
// for the sake of example no target and actions are set (null)
var barButtonItemOne = UIBarButtonItem.alloc().initWithTitleStyleTargetAction("Cancel", UIBarButtonItemStyle.UIBarButtonItemStyleBordered, null, null);
var items = NSArray.arrayWithObject(barButtonItemOne);
var toolbar = UIToolbar.alloc().initWithFrame({ origin: { x: 0, y: 0 }, size: { width: 320, height: 150 } });
toolbar.barStyle = UIBarStyle.UIBarStyleBlackTranslucent;
toolbar.items = items;
toolbar.sizeToFit();
var iosText = myTextField.ios;
iosText.inputAccessoryView = toolbar;
}
exports.onLoaded = onLoaded;
以上示例基于@Luda提供的源码here
有关如何 "translate" Objective-C 到 NativeScript 的更多信息,您可以找到 here