Ios 在UITextField中以编程方式选择文本时,如何防止“选择/全选/剪切/复制/粘贴”栏出现

Ios 在UITextField中以编程方式选择文本时,如何防止“选择/全选/剪切/复制/粘贴”栏出现,ios,uitextfield,uitextfielddelegate,Ios,Uitextfield,Uitextfielddelegate,我有一些UITextField的实例,我已经添加到UITableView中的一些单元格中。我使用UITextField委托选择textfield中的所有文本,如下所示: -(void)textFieldDidBeginEditing:(UITextField *)textField { [textField selectAll:self]; } 我看到的问题是,我不希望在您第一次触摸单元格时出现选择弹出窗口。我希望能够编辑文本,因此我不想使用成为第一响应者 您需要的是,您可以使用-(v

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

-(void)textFieldDidBeginEditing:(UITextField *)textField {
    [textField selectAll:self];
}
我看到的问题是,我不希望在您第一次触摸单元格时出现选择弹出窗口。我希望能够编辑文本,因此我不想使用
成为第一响应者

您需要的是,您可以使用
-(void)setMenuVisible:(BOOL)menuVisible animated:(BOOL)animated将其隐藏,因此在
[textField selectAll:self]之后调用上述方法以隐藏菜单

编辑

在google上搜索一小段时间后,您似乎需要创建UITextField的子类,并使用sender:(id)sender:(id)sender:(SEL)action来覆盖
-(BOOL)canperformation:(SEL)action,并从此返回
NO
,以隐藏
UIMenuController


由于我不在办公室,我现在无法测试此功能,但您也应该尝试以下行
[UIMenuController sharedMenuController].menuVisible=NO
在开始实现
UITextField

的子类之前,我添加了这一行:[[UIMenuController sharedMenuController]setMenuVisible:NO动画:NO];这似乎没有帮助。为了提供更多的背景信息,当用户触摸我的tableview中的某一行时,我会创建两个文本字段,并将它们作为子视图添加到单元格中。目的是创建两个字段,用户可以在其中输入最小值和最大值。我希望已经选择了现有的文本,这样用户就可以输入一个值并保存它,但当我选择文本时,菜单会出现,并以一种恼人的方式遮挡其他单元格。添加setMenuVisible:NO似乎没有帮助。谢谢。谢谢你的回复,但是这个解决方案会阻止菜单出现吗?我希望仍然能够从UITextField中选择并复制/粘贴文本,但我只是不希望在最初使用:[textField selectAll:self];]选择文本时看到它