2024-11-22
选择ViewController
插入。
比用代码创建更方便
subclass: UIViewController
点击main-storyboard里面黄色按钮,输入cmd+option+4,调出inspector菜单。 在Class里面输入之前设置的Class即可。
cmd+ctl+option + Enter,可以出现assistant view
,就可以调试代码和storyboard窗口,按住ctrl拖动元素到代码窗口了。
按住ctrl,拉动第一屏的黄色方形按钮,连接第二屏。
选择Present Modally
或者选择某一个按钮,直接拉到其他屏幕上:
选中箭头,在inspector窗口(cmd+option+5)里面修改Identifier
。
self.performSegue(withIdentifier: "goToResult", sender: self)
prepare
function override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "goToResult"{
let destinationVC = segue.destination as! ResultsViewController //为什么要as!?因为downcasting,即告诉它降级到子class-ResultsViewController,而不是原本的UIViewController
destinationVC.bimValue = "0.0"
}
}
在第二屏设置:
@IBAction func recalculatePressed(_ sender: UIButton) {
self.dismiss(animated: true)
}
运行程序时,点击左下角的多屏幕图标
。
创建SecondViewController的class
import UIKit
class SecondViewController: UIViewController {
var bmiValue = "0.0"
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .red //等于UIColor.red,前面可省略
let label = UILabel()
label.text = bmiValue
label.frame = CGRect(x: 0, y: 0, width: 100, height: 50)
view.addSubview(label)
}
}
在UIViewController里面使用
let secondVC = SecondViewController()
secondVC.bmiValue = String(format:"%.1f",bmi)