gpt4 book ai didi

android - 在获得焦点时在 TextView 上显示编辑菜单(复制/粘贴/选择)()

转载 作者:行者123 更新时间:2023-11-29 01:09:29 25 4
gpt4 key购买 nike

我正在使用跨平台框架 NativeScript 1.5,并且我试图在 TextView 获得焦点时显示编辑菜单。在这种情况下,对于 iOS,我尝试创建一个名为 UIMenuController 的东西,如下所示:

var menu = UIMenuController.sharedMenuController();
控制台.log(菜单);

系统打印出菜单是一个 UIMenuController 对象。之后,我希望光标在 TextView 上闪烁后立即弹出编辑菜单,因此:

textview.focus();
菜单.menuVisible = true;
然而,什么也没发生。我做错了什么吗?或者有什么更好的方法可以做到这一点?非常感谢任何评论。

最佳答案

更新我的确切代码

XML:

<Page xmlns="http://schemas.nativescript.org/tns.xsd" loaded="pageLoaded">
<StackLayout>
<Button text="Menu" tap="menu" />
<TextField id="te" text="Hi this is a test of the emergency system. panic now."/>
</StackLayout>
</Page>

JS:

var page;
exports.pageLoaded = function(args) {
page = args.object;
};

exports.menu = function() {
var menu = UIMenuController.sharedMenuController();
var te = page.getViewById('te');
te.focus();
menu.setTargetRectInView(page._nativeView.frame, te.ios);
menu.setMenuVisibleAnimated(true, true);
}

好的,主要问题是您需要先设定一个目标;没有目标,它显然不知道在哪里显示菜单。在我的测试中,因为我最初单击该字段是为了输入数据;菜单有一个目标,所以 setMenuVisibileAnimated 起作用了。但是,如果您不“点击”该字段,它显然不会获得目标矩形。因此,通过告诉它需要显示的位置;它有效。

关于android - 在获得焦点时在 TextView 上显示编辑菜单(复制/粘贴/选择)(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35942365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com