【swift学习笔记】一.页面转跳的条件判断和传值

简介:

在转跳页面之前我们可能会判断一下是否有输入正确的数据,如下图所示,如果没有数据输入则弹出提示,不进行转跳。

一:页面转跳

1.第一个页面的上放上一个Label一个textfield和一个按钮

2.在第二个窗体上放两个label和一个按钮,并指定一个ViewController

3.创建Segue连接两个窗体,打开模式选择modal,并给Segue命名为"openView"

 

3.页面1 中创建输入文本框的引用和按钮的点击Action

在Action里判断文本是否有数据,如果没有则弹出提示,如果有则打开新窗体

复制代码
@IBAction func passNameToView(sender: AnyObject) {
        guard let text = teName.text where !text.isEmpty else {
            
            let title = "Warning"
            let message = "please enter name!"
            let okText = "Ok"
            
            let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
            let okButton = UIAlertAction(title: okText, style: .Cancel, handler: nil)
            alert.addAction(okButton)
            presentViewController(alert, animated: true, completion: nil)
            
            return;
        }
        
        self.performSegueWithIdentifier("openView", sender: self)
        
        // or  if let text = teName.text where !text.isEmpty
    }
复制代码

这样就可以打开新窗体了。

4.从新窗体返回原窗体

页面2中的按钮建立一个Action代码如下

    @IBAction func backToParent(sender: AnyObject) {
        self.dismissViewControllerAnimated(true, completion: nil)
    }

 

二.页面传值

1.在页面2中声明一个字符串变量用于接收传过来的信息和一个lable的引用,在加载完窗体后显示在label中

复制代码
@IBOutlet weak var receiveName: UILabel!
    
    var receivedStr: String = ""
    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        
        receiveName.text = receivedStr
    }
复制代码

2.页面1 重写prepareForSegue方法 把值输入的值传递给页面2

复制代码
 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "openView" {
            if let secondView = segue.destinationViewController as? SecondViewController {
                secondView.receivedStr = teName.text!
            }
        }
    }
复制代码

ok整个过程完毕。

完整代码:判断条件页面转跳.zip

 


本文转自lpxxn博客园博客,原文链接:http://www.cnblogs.com/li-peng/p/5523533.html,如需转载请自行联系原作者

相关文章
|
Swift
Swift学习笔记——页面跳转
创建一个single view app后,项目中有main.storyboard,里面是一个viewcontroller。 那么我们如何实现页面跳转 首先添加一个导航控制器Navigation Controller。点击右上的➕,然后选择控件拖到面板上即可
1150 0
|
前端开发 测试技术 Swift
Swift学习笔记——新建项目
在xcode菜单中选择 new -> project -> single view app 点击next在弹出窗中填写项目名称 这里languge有可以选择object-c或swift作为项目语言。这里我们学习swift,所以选择swift。 如果language选择swift,下面的user interface可以选择swiftUI和storyboard。 SwiftUI是2019 年 WWDC 大会上,苹果在压轴环节向大众宣布了基于 Swift 语言构建的全新 UI 框架,与flutter类似,是用代码编写页面,支持快速预览。
667 0
|
Swift
swift UI专项训练42 用Swift代码实现页面跳转与传值
   之前我们做过如果要点击一个按钮实现跳转到另一个按钮的办法,有时候我们需要通过一些动作来触发页面的跳转,比如摇动手机,这样就不能直接用连线的办法来实现跳转了,那么如何通过代码的方式来实...
910 0
|
3月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
91 2
|
2月前
|
监控 API Swift
用Swift开发iOS平台上的上网行为管理监控软件
在当今数字化时代,随着智能手机的普及,人们对于网络的依赖日益增加。然而,对于一些特定场景,如家庭、学校或者企业,对于iOS设备上的网络行为进行管理和监控显得尤为重要。为了满足这一需求,我们可以利用Swift语言开发一款iOS平台上的上网行为管理监控软件。
196 2

相关课程

更多