我使用Nativescript创建Android和iOS应用程序。因为它是一种计算器,所以有很多数字输入字段。 数字是十进制的,可以是负数。所以我需要一个带数字,小数点和减号(短划线)的键盘。
因此我使用键盘类型“数字”:
在Android中打开的键盘很好。 但iOS中的那个有很多不必要的字段,如“(”。Stevo
正如我发现iOS中没有键盘我想要的字段: iOS KeyBoard
但很多人使用带有减号的“inputAccessoryView”的“DecimalPad”来解决这个问题。在NativeScript中解决这个问题有好处吗?
干杯
答案 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