【问题标题】:Objective C: show textfield and textview input in label on next view?目标C:在下一个视图的标签中显示文本字段和文本视图输入?
【发布时间】:2015-12-03 15:44:48
【问题描述】:

所以我见过很多与我类似的问题,但都没有有效的答案,或者答案含糊(而且没有一个被标记为正确)。

我有两个 ViewController:

ViewController #1 有 4 个 textFields,它们附加了 pickerViews,以便选择一个选项来填充文本字段。 还有 1 个文本视图,用户可以在其中使用键盘。

绘制场景:标签状态:“选择颜色:”用户单击文本字段(pickerView 显示完整的颜色名称)用户选择“红色”,选择的选项显示在标签下方的文本字段中: '选择一种颜色'。 然后当所有的文本字段和文本视图都填写完毕后,用户点击保存。其中保存按钮将用户重定向到第二个 ViewController。

视图控制器#2: 这是我希望在标签中显示输入(textFields 和 textView)的地方(如果这是正确的用法)。因为这是用户将看到所选答案列表的地方。但是我无法让它工作。

我需要做什么才能实现这一目标?

我还在学习。请多多包涵。 提前致谢。

【问题讨论】:

标签: ios objective-c uitextfield uilabel uitextview


【解决方案1】:

一般来说,这个网站不太适合“告诉我如何做 XYZ”类型的问题。它旨在获得有关您已经编写的代码的帮助。不过你是新人,所以我会同情你。

您应该发布您拥有的代码,展示您如何从视图控制器 1 到视图控制器 2。

我将假设您有一个从视图控制器 1 到视图控制器 2 的 segue。

(您可能应该有禁用发送按钮的代码,直到所有 4 个文本字段都用有效颜色填充。)

无论如何,让我们假设您的发送按钮直接触发一个转场,或者在通过调用performSegueWithIdentifier 触发转场的 IBAction 中触发。

您需要在视图控制器 2 中为您的 4 个颜色字符串定义属性。

然后,如果您还没有一个 prepareForSegue 方法来查看控制器 1。在 prepareForSegue 中,确保 segue 与调用视图控制器 2 的 segue 标识符匹配(即使您现在只有 1 个 segue,也是个好主意,因为您以后可能会添加更多 segue。)

ViewController2 *vc2 = (ViewController2 *) segue.destinationViewController;

假设它是正确的 segue,获取指向目标视图控制器的指针并将其转换为 ViewController2 的类型,以便您可以参考您的颜色属性。

然后使用这样的代码将颜色传递给视图控制器 2:

vc2.color1 = myColor1TextField.text;
vc2.color2 = myColor2TextField.text;
vc2.color3 = myColor3TextField.text;
vc2.color4 = myColor4TextField.text;

【讨论】:

  • 谢谢你,至少不是所有人都是帮助新人的野兽。我确实有一个从 vc1 到 vc2 的发送按钮。我要在 viewdidload 中添加 segue 代码吗?
  • 您将值发送到prepareForSegue 中的目的地,然后将它们安装到viewDidLoadviewWillAppear 中的视图中。 viewWillAppear 通常更安全,因为即使在您保留视图控制器并多次显示它的情况下也会调用它。
  • 另外,在调用viewWillAppear 时,您的视图已根据当前设备调整大小。在viewDidLoad 中,视图尚未针对当前屏幕尺寸和方向进行调整。 (例如,您可以以 iPhone 6 纵向尺寸布置视图并在 iPhone 5 和横向显示它们。在viewDidLoad 中,视图仍将设置为 iPhone 6 纵向。在viewWillAppear 中,它们将已针对 iPhone 5 横向的当前设置进行了调整。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-26
相关资源
最近更新 更多