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

Ios MonoTouch.Dialog-EntryElement不允许编辑键入的文本,ios,xamarin.ios,monotouch.dialog,Ios,Xamarin.ios,Monotouch.dialog,我创建了一个简单的EntryElement“eNote”,并将其添加到部分。超级简单 Section secNote = new Section ("Notes"); eNote.AutocapitalizationType = UITextAutocapitalizationType.None; eNote.AutocorrectionType = UITextAutocorrectionType.No; eNote.Keyboa

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

        Section secNote = new Section ("Notes");
        eNote.AutocapitalizationType = UITextAutocapitalizationType.None;
        eNote.AutocorrectionType = UITextAutocorrectionType.No;
        eNote.KeyboardType = UIKeyboardType.ASCIICapable;
        secNote.Add (eNote);
我们输入这样一个句子:

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


简单的回答是这是一个bug,应该提交给

然而,我确实找到了一个解决办法。使用部件浏览器,可以“借用”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;
        }
    }
}

快乐的黑客

这是由以下因素引起的回归。如果从源代码(github)构建MonoTouch.Dialog,则可以还原4cffe144f89fc9fbfe032d56e67a8583c2d641bf提交


同样的变化也有其他副作用,例如,除了你填写的表格之外。您应该检查这是否会影响您的应用程序(或不影响),以查看解决方法是否优于恢复方法。

我将等待MT.Dialog使用所有代码进行更新,我们只能在我们的企业构建中使用生产版本37236B68F4C8FC6630E3AC28DD02BEB6B5275C33有一个不同的解决方案(不恢复原始版本的修复)。这应该是即将发布的5.2.12版本的一部分(除非QA发现问题)。感谢您的报告!