用于负数input字段的NativeScript键盘

我正在使用Nativescript创build一个Android和iOS应用程序。 因为它是一种计算器,所以有很多数字的input字段。 数字是十进制的,可以是负数。 所以我需要一个数字,小数点和减号(短划线)的键盘。

因此我使用键盘types“数字”

在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来创build自定义键盘。 这里是一个例子,在你的键盘上添加一个取消button,基于这个概念,你可以完全定制你的键盘types。

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提供的源代码

有关如何将Objective-C“翻译”为NativeScript的更多信息,请点击这里