【swift学习笔记】一.页面转跳的条件判断和传值
2016-05-25 09:54
357 查看
在转跳页面之前我们可能会判断一下是否有输入正确的数据,如下图所示,如果没有数据输入则弹出提示,不进行转跳。
2.在第二个窗体上放两个label和一个按钮,并指定一个ViewController
3.创建Segue连接两个窗体,打开模式选择modal,并给Segue命名为"openView"
3.页面1 中创建输入文本框的引用和按钮的点击Action
在Action里判断文本是否有数据,如果没有则弹出提示,如果有则打开新窗体
这样就可以打开新窗体了。
4.从新窗体返回原窗体
页面2中的按钮建立一个Action代码如下
2.页面1 重写prepareForSegue方法 把值输入的值传递给页面2
ok整个过程完毕。
完整代码:判断条件页面转跳.zip
一:页面转跳
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
相关文章推荐
- swift UILabel的高度自适应
- iOS学习笔记44-Swift(四)枚举和结构体
- Swift 必备开发库 (高级篇)
- swift-1
- Android与Swift iOS开发:语言与框架对比
- swift基本语法(总结提炼版)之014 swift 之闭包循环引用
- swift基本语法(总结提炼版)之013 swift 之闭包返回值
- Swift成为主流语言的10个理由
- Swift难点-继承中的构造规则实例详解
- swift资源库--Swift泛型
- Swift-自动引用计数(Automatic Reference Counting)(十四)
- 使用Go语言开发iOS应用(Swift版)
- swift 移动支付之【微信支付】开发步骤
- swift资源库—3—字典/集合/数组
- Swift基础小结_2
- Swift基础小结_1
- swift向方法传数组参数的语法
- swift基础笔记4-类和结构体
- swift新版本相对于swift1.0版本改动大全
- swift dictionary 是否存在key