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

C#Xamarin/Monotouch.Dialog-EntryElement不显示输入的字符,c#,xamarin.ios,xamarin,monotouch.dialog,entryelement,C#,Xamarin.ios,Xamarin,Monotouch.dialog,Entryelement,我有一个Monotouch.Dialog EntryElement 有时候,当我开始打字时,什么都没有显示 光标不会显示,如果我键入文本,则无法看到它,但它会被持久化到EntryElement.Value属性 问题似乎只出现在iPhone本身上,而不是在iOS模拟器上。 我正在运行iOS 6.3 有什么想法吗?如果我不能获得一致的用户体验,这几乎可以抵消我的Monotouch AtXamarinbug跟踪系统就是您描述的情况 但它是iOS的5.4版,在5.2上运行良好 也描述了同样的问题,但这次

我有一个
Monotouch.Dialog EntryElement

有时候,当我开始打字时,什么都没有显示

光标不会显示,如果我键入文本,则无法看到它,但它会被持久化到
EntryElement.Value
属性

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


有什么想法吗?如果我不能获得一致的用户体验,这几乎可以抵消我的Monotouch

At
Xamarin
bug跟踪系统就是您描述的情况

但它是iOS的5.4版,在5.2上运行良好

也描述了同样的问题,但这次不是Xamarins的bug

我给你的建议是将你的问题作为bug发布在


请使用我上面提供的示例来正确编写错误报告。

这只是一个为我做这项工作的解决方法:

//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");
我在应用程序的第一个视图中添加了这段代码,问题就解决了


我希望这对其他人有帮助。

听起来你好像遇到了一个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上,我也没有时间再和它抗争了。由于我已经实现了这个变通方法,这个问题在模拟器和设备上都已经解决了几个月了。另请注意,与空字符串相关的已知错误有一个类似的症状,即标题(单独的问题)。

在MikroDel的回答和bugzilla中的注释的帮助下,我的问题是EntryElement的高度为0


将其设置为所需的值(大于0)修复了该问题。

这里也有相同的问题,对此有任何更新吗?没有。我已经完全放弃了使用Monotouch.Dialog,转而使用我自己的自定义控件来实现所有功能。但这到底是如何工作的呢?您的对象声明看起来与导致问题的标准EntryElement声明相同……在第一个视图中添加代码解决了我的问题。我没有使用tmp EntryElement变量。在我的例子中,我认为有一些初始化任务没有执行,并且对于正确的文本度量非常重要,以便在正向视图中显示控件,因此添加此代码将强制执行。试试看,告诉我们它是否对你有效。这并不能回答这个问题。若要评论或要求作者澄清,请在他们的帖子下方留下评论-你可以随时在自己的帖子上发表评论,一旦你有足够的评论,你就可以发表评论。如果我做错了什么,我很抱歉,我只是遇到了完全相同的问题,这就是解决方法,所以我只是想提供帮助。