繁体   English   中英

当我以编程方式在UITextField中选择文本时,如何不显示全选/全选/剪切/复制/粘贴栏

[英]How can I keep the select / select all / cut / copy / paste bar from appearing when I programmatically select text in UITextField

我有一些UITextField实例,这些实例已添加到UITableView某些单元格中。 我正在使用UITextField委托来选择textfield所有文本,如下所示:

-(void)textFieldDidBeginEditing:(UITextField *)textField {
    [textField selectAll:self];
}

我看到的问题是,我不想您第一次触摸该单元格时出现选择弹出窗口。 我希望能够编辑文本,所以我不想使用becomeFirstResponder

您需要的是UIMenuController ,您可以使用- (void)setMenuVisible:(BOOL)menuVisible animated:(BOOL)animated以便在[textField selectAll:self];之后对其进行隐藏[textField selectAll:self]; 调用上述方法以隐藏菜单。

编辑

在Google上稍作搜索后,您似乎需要创建UITextField的子类并重写- (BOOL)canPerformAction:(SEL)action withSender:(id)sender并从中返回NO以便隐藏UIMenuController

因为我不在办公室,所以我现在无法测试,但您也应该尝试下面的行[UIMenuController sharedMenuController].menuVisible = NO; 在开始实现UITextField的子类之前

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM