【问题标题】:Corona SDK - native textfield within scrollview?Corona SDK - 滚动视图中的本机文本字段?
【发布时间】:2012-08-08 03:22:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: coronasdk


    【解决方案1】:

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

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

    类似:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-08-06
        • 1970-01-01
        • 2012-06-22
        • 1970-01-01
        • 2015-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多