iOS 7:实现文本视图的最佳方式,该文本视图显示以前的输入但很容易清除

时间:2014-06-11 13:07:01

标签: ios uitextview

我正在将Mac应用程序移植到iPhone上,但我遇到了意想不到的问题。

在Mac上有一个文本字段,当对话框出现时,该文本字段会自动预选(=第一响应者)。文本字段显示您上次在字段中输入的文本,并且文本已预先选定,因此如果您刚开始输入,则会将其清除。如果您想要编辑现有文本,只需点击向前或向后箭头。

在iPhone上,这种行为似乎很难实现。文本视图显示旧文本,我甚至可以预先选择它,但无论我做什么,结果都不太正确。

当我使用

[aTextView setMarkedText: myText
           selectedRange: newRange];

文本确实显示为已标记,如果我刚开始输入旧文本就会消失。然而,没有相当于iOS上的光标键,所以我不能删除文本..这不是重点。

什么样的iOS习惯用于提供编辑或覆盖现有文本的选项?

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:1)

UITextViewDelegate

中试用此代码
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView
{
    dispatch_async(dispatch_get_main_queue(), ^{
        [textView selectAll:self];
    });

    return YES;
}