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

时间:2013-06-19 19:48:12

标签: ios uitextfield uitextfielddelegate

我已经在UITextField的某些单元格中添加了UITableView的几个实例。我正在使用UITextField委托选择textfield中的所有文字,如下所示:

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

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

1 个答案:

答案 0 :(得分:0)

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

修改

在google上进行一些搜索之后,您似乎需要创建一个UITextField的子类并覆盖- (BOOL)canPerformAction:(SEL)action withSender:(id)sender并从中返回NO以隐藏UIMenuController。< / p>

我现在无法测试,因为我不在办公室,但在开始实现[UIMenuController sharedMenuController].menuVisible = NO;

的子类之前,您还应该尝试以下行UITextField