使用Swift中其他视图中的视图输入文本(Xcode 6)

时间:2014-08-17 00:31:39

标签: ios uiviewcontroller swift uitextfield label

我对Swift和Xcode几乎是全新的,所以请原谅我在这个领域缺乏知识。 目前我有一个带有标签的视图控制器。我想在此之前添加一个视图,使用文本字段,用户在其中输入名称,然后应用程序转到第二个视图,其中标签中用户输入的名称放在标签上。

我知道这是非常基本的,但我找不到任何好的解决方案,因为我不太确定要搜索什么。如果有人有一段代码或链接到一个好的来源,我很乐意看到它。

谢谢!

编辑:我对此知之甚少。使用两个视图时是否需要导航控制器?我需要两个ViewController.swift文件吗?

3 个答案:

答案 0 :(得分:2)

以下是通过12个简单步骤完成的方法:

1)是的。我建议使用Navigation Controller。使用单一视图应用程序启动新项目。

2)在故事板中选择ViewController,然后从上方的菜单栏中选择Editor->Embed In->Navigation Controller

3)拖出UIButtonUITextField并将其放入您的第一个ViewController

4)您需要IBOutlet到您的文本字段,以便您可以从中读取文本。 通过单击 Xcode 右上角的 Tuxedo 图标,显示“助理编辑器”。单击Storyboard中的ViewController。右侧编辑器窗格将显示ViewController的代码。按住 Control 键并从文本字段拖动到右窗格中的代码。当你在class ViewController : UIViewController {下方的空间时,放开鼠标按钮。在弹出窗口中,将 Connection 设置为 Outlet ,将名称设置为textField,然后按连接。这会将行@IBOutlet weak var textField: UITextField!添加到您的ViewController

5)现在是时候添加第二个视图控制器了。从菜单中选择File->New->File...。在对话框中,确保左侧选中 iOS 下的 Source ,然后选择 Cocoa Touch Class 并按 Next 。将类命名为SecondViewController并使其成为UIViewController的子类。按下一步,然后按创建

6)在故事板中,拖出UIViewController并将其放在第一个ViewController的右侧。选择新的ViewController并通过单击 Tuxedo 图标下方图标行左侧的第3个图标打开 Identity Inspector 。 (提示:如果你将图标悬停,它会告诉你他们做了什么)。将班级更改为SecondViewController

7)在故事板中,从第一个ViewController中的按钮控制拖动(按住控制并拖动)到新SecondViewController。在弹出窗口中选择显示作为动作搜索

8)拖出标签并将其放入SecondViewController。像在步骤4中一样添加IBOutlet并将其命名为 mylabel

9)在SecondViewController的代码中添加一个新的实例变量,如下所示:var firstVCtext = ""

10)在第一个ViewController添加此方法:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    let secondVC = segue.destinationViewController as SecondViewController
    secondVC.firstVCtext = textField.text
}

11)在SecondViewController中,将此行代码添加到viewDidLoad方法:mylabel.text = firstVCtext

12)运行程序!

答案 1 :(得分:1)

答案 2 :(得分:0)

要将数据从一个视图移动到另一个视图,使用segue(发音为seg-way)是最简单的。这方面有一个例子:

http://makeapppie.com/2014/07/01/swift-swift-using-segues-and-delegates-in-navigation-controllers-part-1-the-template/

如果您使用Google for Swift和Segue,您可能会找到更多示例。