用于负数输入字段的NativeScript键盘

时间:2016-05-18 11:53:01

标签: ios input keyboard numbers nativescript

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

因此我使用键盘类型“数字”

在Android中打开的键盘很好。 但iOS中的那个有很多不必要的字段,如“(”。Stevo

正如我发现iOS中没有键盘我想要的字段: iOS KeyBoard

但很多人使用带有减号的“inputAccessoryView”的“DecimalPad”来解决这个问题。在NativeScript中解决这个问题有好处吗?

干杯

1 个答案:

答案 0 :(得分:1)

您可以使用本机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

提供的源代码

有关如何&#34;翻译&#34;的更多信息Objective-C到NativeScript,您可以找到here