C#Xamarin / Monotouch.Dialog - EntryElement不显示输入的字符

时间:2013-07-16 19:22:18

标签: c# xamarin.ios xamarin monotouch.dialog entryelement

我有Monotouch.Dialog EntryElement

偶尔当我开始打字时,什么都没有出现......

光标不会显示,如果我输入文字,则无法看到,但它会持久保存到EntryElement.Value属性。

问题似乎只出现在iPhone本身,而不是iOS Simulator上。 我正在运行iOS 6.3

有什么想法吗?如果我无法获得一致的用户体验,这几乎可以为我Monotouch注销。

4 个答案:

答案 0 :(得分:2)

Xamarin错误跟踪系统Bug 7398就是您所描述的情况。

但它是iOS的版本5.4,而在5.2上它可以正常工作。

同样Bug 7116描述了相同的问题,但这次它不是Xamarins错误。

我的建议是在bugzilla.xamarin.com将您的问题发布为错误。

请告诉我上面提供的示例,正​​确地为您编写错误报告。

答案 1 :(得分:0)

只是为我做一份工作:

//FIXME: this is a workaround  about a bug relative to the position of TextBox element
// https://bugzilla.xamarin.com/show_bug.cgi?id=7398
var tmp = new EntryElement ("a", "a", "a");

我已将此代码添加到我应用程序的第一个View中,问题就消失了。

我希望这对别人有帮助。

答案 2 :(得分:0)

听起来你正在遇到一个bug。实际上对我有用的唯一解决方案是子类EntryElement,并在构造函数中调用FetchValue();方法。这是一个例子:

public SAEntryElement (string caption, string placeholder, string value) : base(caption, placeholder, value)
    { 
        // HACK: A workaround in an attempt to stop the bug where the value field would be empty sometimes
        FetchValue();
    }

我无法为Xamarin的bugzilla制作一个可靠的测试用例,而且我没有时间再打它了。由于我已经实现了这种解决方法,现在问题已经在模拟器和设备上消失了几个月。另请注意,与空字符串相关的已知错误的类似症状为Captions(单独的问题)。

答案 3 :(得分:0)

在MikroDel的回答以及bugzilla对bug 7398的评论的帮助下,我的问题是EntryElement的高度为0。

将其设置为所需的值(大于0)可解决问题。