Corona SDK - scrollview中的原生文本字段?

时间:2012-07-26 03:14:42

标签: corona

在Corona SDK中,我正在寻找一个看似非常基本的示例/教程:包括滚动视图中的文本输入字段。

我一直在使用widget.newScrollView()作为scrollview,而native.newTextField()作为文本输入字段。当然,问题是“本机”对象存在于Corona显示对象层次结构之外,因此文本字段不能放在滚动视图内并以这种方式滚动。

对此Corona Labs blog post的评论建议使用看似文本字段的占位符图片的技术,其中触摸侦听器在用户触摸时覆盖真实文本字段。这是最好的方法吗?

2 个答案:

答案 0 :(得分:2)

“伪造它”是一种经过验证的方法,可以在编程时完成任务,无论您使用的是Corona SDK还是其他任何东西。虽然很高兴不必通过箍来完成任务,但有时它只是处理它的最佳方式。

在这种情况下,我认为使用占位符可能是最好的方法。您可以创建一个函数,使用display.newRect创建假文本字段的框架,然后使用display.newText放入默认和/或用户提供的文本。

类似的东西:

local dObj = showFauxTextfield(x, y, width, height, str)

根据传入的参数创建rect和text,将它们放入显示组,然后将其传递回调用代码。然后,您可以将其与其他所有内容一起放入常规显示组中。

在showFauxTextfield()中,你将创建一个事件处理程序,当它被触摸时会弹出native.newTextField。

这是一项额外的工作,但Corona通常会为你节省很多开发时间,所以你可能仍然会领先一步。 ;)

答案 1 :(得分:1)

如果您不热衷于实现本文中提到的占位符技术,您可以随时使用WidgetCandy库(http://www.x-pressive.com/WidgetCandy_Corona/)。它包括一个文本字段类,它将提供类似的功能。