学习笔记---当Swift遇上UI

小记:初次使用Swift来创建UI界面,所以记下点实用笔记方便日后学习。

要求:创建两个界面,第一个界面有 Label 和 Button,另一个界面有TextField 和 Button。通过点击Button点击来触发点击事件。使用Block来实现将第二个界面的TextField里的值传到第一个界面的Label里面。

1.ViewController

 /**/懒加载label(见名知意--> Lazy)

lazy var lab:(UILabel) = {

let lab = UILabel(frame:CGRectMake(100,100,100,50))

lab.backgroundColor = UIColor.cyanColor()

return lab

}()

/**/懒加载button

 lazy var btn:(UIButton) = {  

 let btn = UIButton(frame:CGRectMake(100,200,100,50))

 btn.backgroundColor = UIColor.redColor()

 //selector("btnAction:")  #selector(btnAction:)

  btn.addTarget(self, action:"btnAction:", forControlEvents: UIControlEvents.TouchUpInside)

 btn.setTitle("买买买", forState: UIControlState.Normal)

return btn

 }()

/**/button点击事件

fun btnAction(btw:UIButton){

let vc = SecondViewController()

vc.closure = {

          (str:String)->()

         in

         self.lab.text = str

         }

   naviagationContrcoller?.pushViewController(vc, animated: true)

}

2.  SecondViewController

/**/  声明

  var closure:((str:String)->())?

 /**/懒加载

 lazy var tf:(UITextField) = {

let tf = UITextField(frame:CGRectMake(100,150,100,50))

tf.backgroundColor = UIColor.greenColor()

return tf

}()

lazy var btn:(UIButton) = {

let btn = UIButton(frame: CGRectMake(100,280,100,50))

btn.addTarget(self, action: "btnAction:", forControlEvents: UIControlEvents.TouchUpInside)

btn.setTitle("回去", forState: UIControlState.Normal)

btn.backgroundColor = UIColor.blueColor()

return btn

}()

/**/按钮方法

func btnAction(btn:UIButton){

closure!(str: tf.text!)

navigationController?.popViewControllerAnimated(true)

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 苹果官方一直大力推行Swift,Swift的简洁跟高新能得到不少人的青睐,貌似Swift将要成为ios开发的...
    DOU_SHA_BAO阅读 1,644评论 0 1
  • 一 、AppDelegate.swift 里设置导航控制器 import UIKit @UIApplication...
    天涯海角我爱你阅读 359评论 0 0
  • Swift 介绍 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 ...
    大L君阅读 3,338评论 3 25
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 3,879评论 0 6
  • Swift2.0 1.defer译为延缓、推迟之意类似栈 注意作用域,其次是调用顺序——即一个作用域结束(注意),...
    zeqinjie阅读 3,418评论 0 50