2

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

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

对此Corona Labs 博客文章的评论建议使用看起来像文本字段的占位符图像的技术,当用户触摸它时,触摸侦听器会覆盖真实的文本字段。这是最好的方法吗?

4

2 回答 2

2

“伪造它”是在编程时完成工作的一种行之有效的方法,无论您使用的是 Corona SDK 还是其他任何东西。虽然不必为了完成某件事而费尽周折,但有时这只是处理它的最佳方式。

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

就像是:

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

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

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

这是一项额外的工作,但 Corona 通常会为您节省大量的开发时间,因此您可能仍会领先。;)

于 2012-07-26T06:33:46.720 回答
1

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

于 2012-08-07T19:22:03.973 回答