MonoTouch.Dialog - EntryElement不允许编辑键入的文本

时间:2012-05-09 17:13:01

标签: ios xamarin.ios monotouch.dialog

我创建了一个简单的EntryElement“eNote”并将其添加到Section。超级简单。

        Section secNote = new Section ("Notes");
        eNote.AutocapitalizationType = UITextAutocapitalizationType.None;
        eNote.AutocorrectionType = UITextAutocorrectionType.No;
        eNote.KeyboardType = UIKeyboardType.ASCIICapable;
        secNote.Add (eNote);

我们输入这样的句子:

enter image description here

然后,当我尝试通过点击“U”之前在“Unity”之前添加“I Like”文本时,输入第一个字母,但其余部分放在文本的末尾。结果是我们无法编辑文本。

enter image description here

2 个答案:

答案 0 :(得分:2)

简短的回答是,这是一个错误,应该与Xamarin

一起提交

但是我确实找到了解决方法。使用程序集浏览器,您可以“借用”EntryElement的现有实现,并将Value属性更改为以下内容。

public string Value
{
    get
    {
        return this.val;
    }
    set
    {
        this.val = value;
        if (this.entry != null && value != null && !value.Equals (this.entry.Text))
        {
            this.entry.Text = value;
        }
    }
}

快乐黑客!

答案 1 :(得分:1)

这是由this change引起的回归。如果你从source(github)构建MonoTouch.Dialog,那么你可以恢复 4cffe144f89fc9fbfe032d56e67a8583c2d641bf 提交。

同样的变化也会产生其他副作用,例如: #4736,在您填写的bug report旁边。您应该检查这是否会影响您的应用程序(或不是),以查看变通方法是否优于还原。