2

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

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

我们输入这样的句子:

在此处输入图像描述

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

在此处输入图像描述

4

2 回答 2

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;
        }
    }
}

快乐黑客!

于 2012-05-10T03:56:16.837 回答
1

这是由这种变化引起的倒退。如果您从源代码 (github) 构建 MonoTouch.Dialog,那么您可以恢复4cffe144f89fc9fbfe032d56e67a8583c2d641bf提交。

除了您填写的错误报告之外,相同的更改还有其他副作用,例如#4736 。您应该检查这是否会影响您的应用程序(或不),以查看解决方法是否比恢复更好。

于 2012-05-10T21:04:44.477 回答