2013-06-19 39 views
1

我已經添加了一些UITextField實例,我已將它們添加到UITableView中的某些單元格中。我使用的是UITextField委託以選擇textfield所有文字,像這樣:當我以編程方式選擇UITextField中的文本時,如何保持選擇/選擇所有/剪切/複製/粘貼欄不出現

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

我看到的問題是,我不希望選擇彈出出現在你第一次接觸到電池。我希望能夠編輯文本,所以我不想使用becomeFirstResponder

回答

0

你需要的是UIMenuController,你可以使用- (void)setMenuVisible:(BOOL)menuVisible animated:(BOOL)animated來隱藏它,所以你的[textField selectAll:self];調用上面的方法來隱藏菜單。

編輯

谷歌上一點點的搜索後,它似乎你將需要創建的UITextField的子類,並覆蓋- (BOOL)canPerformAction:(SEL)action withSender:(id)sender,爲了隱藏UIMenuController返回從這個NO

我現在不能測試這一權利,因爲我不是在我的辦公室,但你也應該嘗試以下行[UIMenuController sharedMenuController].menuVisible = NO;你開始實施的UITextField

+0

一個子類我加入這行之前:[UIMenuController sharedMenuController ] setMenuVisible:NO animated:NO];它似乎沒有幫助。爲了給出更多的背景,當用戶觸摸我的tableview中的某一行時,我創建了兩個文本字段並將它們作爲子視圖添加到單元格中。目的是創建兩個字段,用戶可以輸入最小值和最大值。我希望現有的文本已被選中,以便用戶可以輸入一個值並保存它,但是當我選擇文本時,菜單出現並以令人討厭的方式遮蔽其他單元格。添加setMenuVisible:NO似乎沒有幫助。謝謝。 – JeremyP

+0

@JeremyP請檢查我編輯的答案。 – danypata

+0

感謝您的回覆,但此解決方案是否會阻止菜單出現?我想仍然能夠從UITextField中選擇和複製/粘貼文本,但是當我最初選擇文本時,我不想看到它:[textField selectAll:self]; } – JeremyP

相關問題