0
点赞
收藏
分享

微信扫一扫

035_swift_故事板的消息传递


创建空白工程项目

对Main.storyboard 进行操作 选择main找到button

拖动到面板上面

 

创建新的页面

035_swift_故事板的消息传递_ide

也可以点右上方➕通过View Controller 拖动到空白区域创建

035_swift_故事板的消息传递_swift_02

创建后你会发现他们两个是没有连线的。

也就是没有关联的

双击这个地方的小点点

拖动我们新建的ViewController中的页面中

035_swift_故事板的消息传递_ide_03

 

然后选中show

035_swift_故事板的消息传递_ide_04

就会发现这两个页面 中间有一条连线把他们链接起来了

035_swift_故事板的消息传递_swift_05

选中这条链接线 给他命名一个id

035_swift_故事板的消息传递_连线_06

 

下面我们来给按钮进行一些修改

035_swift_故事板的消息传递_ide_07

 对按钮修改背景颜色

035_swift_故事板的消息传递_swift_08

 

当然 还可以修改其他的属性。此处就不多做处理了

修改好后选中按钮。command control options Enter同时按住这四个按键 

召唤代码区域

035_swift_故事板的消息传递_ide_09

 

双击按钮处 并拖动到代码区域

035_swift_故事板的消息传递_swift_10

按钮绑定showDetail方法

点击Connect后

035_swift_故事板的消息传递_连线_11

会添加相关方法

再次command control options Enter同时按住这四个按键 

就会切换到刚才的视图模式

再在新的页面上添加Label

并修改相关属性

之后如下

035_swift_故事板的消息传递_ide_12

接下来 新建一个控制器

035_swift_故事板的消息传递_ide_13

next 

035_swift_故事板的消息传递_ide_14

next

然后我们使用。刚才创建Label的页面和这个类进行绑定

035_swift_故事板的消息传递_连线_15

先选中ViewController 然后把刚才创建的类名写到上面的输入框并按下回车键。

之后还是

再次command control options Enter同时按住这四个按键 

切换到代码编辑模式

将Lable 的时间双击拖动到代码区域进行事件的绑定

035_swift_故事板的消息传递_连线_16

035_swift_故事板的消息传递_swift_17

 

打开ViewController.swift 修改代码

//
// ViewController.swift
// swift_storyboard
//
// Created by liuan on 2020/5/5.
// Copyright © 2020 anguo.com. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}

@IBAction func showDetail(_ sender: Any) {
self.performSegue(withIdentifier: "showDetail", sender: nil)
}

}

监听跳转并设置文本

//
// ViewController.swift
// swift_storyboard
//
// Created by liuan on 2020/5/5.
// Copyright © 2020 anguo.com. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}

@IBAction func showDetail(_ sender: Any) {
self.performSegue(withIdentifier: "showDetail", sender: nil)
}
//监听故事板的连接线跳转的动作
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
//获得连接线的目标视图控制器
let vc = segue.destination as! DetailViewController
vc.params="Hello Anguo"
}
}

DetailViewController显然还没有params参数。我们去创建他

//
// DetailViewController.swift
// swift_storyboard
//
// Created by liuan on 2020/5/5.
// Copyright © 2020 anguo.com. All rights reserved.
//

import UIKit

class DetailViewController: UIViewController {
var params="???"
@IBOutlet weak var detailLable: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
self.detailLable.text = self .params
// Do any additional setup after loading the view.
}


/*
// MARK: - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/

}

编译运行。

 

035_swift_故事板的消息传递_ide_18

点击按钮后

035_swift_故事板的消息传递_ide_19

举报

相关推荐

0 条评论