【问题标题】:Best way to make a UITextField "appear"使 UITextField “出现”的最佳方法
【发布时间】:2009-05-16 17:09:14
【问题描述】:

我希望在按下按钮时出现UITextField。不幸的是,我无法在 Interface Builder 中隐藏它,然后稍后将 hidden 属性设置为 NO,因为如果您尝试隐藏 UITextField,“ibtool 将失败并退出代码 5”。

我将尝试在代码中执行此操作,但想知道我是否可能会因为尝试执行此类操作而遗漏某些内容或导致严重的 UI 错误?或者这只是一个错误?!?

【问题讨论】:

    标签: iphone cocoa-touch interface-builder uitextfield


    【解决方案1】:

    如果您不能在 IB 中将其设置为隐藏,您可以通过编程方式进行,在 viewController 的 viewDidLoad 方法中使用 field.hidden = YES;。然后只需在按钮的目标操作中将其设置回NO。

    【讨论】:

      【解决方案2】:

      很奇怪,但您可以通过编程方式添加它,并用一些不透明动画显示它。

      【讨论】:

        【解决方案3】:

        或者,只需将其 alpha 设置为 0.0。您甚至可以非常轻松地为更改设置动画,并且效果会非常好。

        【讨论】:

        • 这看起来确实更优雅。动画 HIDDEN 属性似乎不起作用。要么全有,要么全无。因此,使用 HIDDEN 和 Alpha 的组合可以使其保持隐藏状态,并防止它在被激活之前对触摸做出响应。谢谢。
        【解决方案4】:

        我刚刚尝试在 IB 中添加 UITextField 并选中 hidden 框,但没有崩溃。当然,我正在运行 3.0 beta SDK,所以它可能是一个在那里修复的错误。不过,无论哪种方式,您都应该能够将其标记为隐藏,然后在代码集hidden = NO 中。如果没有更多信息,我不确定为什么它对您不起作用。

        【讨论】:

        • 我用 2.2 SDK 试了一下,得到了同样的结果,所以是的,也许这是一个错误。
        【解决方案5】:

        是的,看起来像一个错误,但一个可能的简单解决方法是简单地将其设为空,即在 IB 中不给它任何字符串值,并在需要时设置该字符串值(当然是通过 NSLocalizedString()) '出现'。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-11-13
          • 2012-05-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-21
          • 2018-05-19
          相关资源
          最近更新 更多