前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【swift学习笔记】一.页面转跳的条件判断和传值

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

作者头像
lpxxn
发布2018-01-31 13:54:24
1.3K0
发布2018-01-31 13:54:24
举报
文章被收录于专栏:技术之路技术之路

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

一:页面转跳

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

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

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

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

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

代码语言:javascript
复制
@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代码如下

代码语言:javascript
复制
    @IBAction func backToParent(sender: AnyObject) {
        self.dismissViewControllerAnimated(true, completion: nil)
    }

二.页面传值

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

代码语言:javascript
复制
@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

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

ok整个过程完毕。

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-05-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一:页面转跳
  • 二.页面传值
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档