swift用协议实现简单的改变界面颜色
2015-03-26 18:03
567 查看
业余研究了下swift的协议、委托,并制作了简单的demo ,前一个controller页面present下一个controller。在返回的时候改变前一个controller的颜色。适用于初级入门的swift学习爱好者。加深对协议和委托的理解
// ViewController.swift
import UIKit
class ViewController:
UIViewController,ModelViewDelegate{ //在这里引入协议ModelViewDelegate
overridefunc viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor=UIColor.blueColor()
let button=UIButton(frame:CGRectMake(100,100,
100,100))
button.setTitle("下一页面", forState:UIControlState.Normal)
button.addTarget(self, action:"present:", forControlEvents:UIControlEvents.TouchUpInside)
self.view.addSubview(button);
// Do any additi"onal setup after loading the view, typically from a nib.
}
func setBackColor() { //在这里实现协议方法
self.view.backgroundColor=UIColor.redColor()
}
func present(sender:UIButton!){
let model=ModelViewController()
model.delegate=self; //设置委托
self.presentViewController(model, animated:true, completion:
nil)
}
overridefunc didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
// ModelViewController.swift
import UIKit
protocol ModelViewDelegate{
func setBackColor();
}
class ModelViewController:UIViewController {
var delegate :ModelViewDelegate? //设置委托
overridefunc viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor=UIColor.grayColor()
let button=UIButton(frame:CGRectMake(100,100,
100,100))
button.setTitle("返回", forState:UIControlState.Normal)
button.addTarget(self, action:"backTo:", forControlEvents:UIControlEvents.TouchUpInside)
self.view.addSubview(button);
// Do any additional setup after loading the view.
}
func backTo(sender:AnyObject) {
self.delegate!.setBackColor()
self.dismissViewControllerAnimated(true,completion:nil)
}
overridefunc didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// ViewController.swift
import UIKit
class ViewController:
UIViewController,ModelViewDelegate{ //在这里引入协议ModelViewDelegate
overridefunc viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor=UIColor.blueColor()
let button=UIButton(frame:CGRectMake(100,100,
100,100))
button.setTitle("下一页面", forState:UIControlState.Normal)
button.addTarget(self, action:"present:", forControlEvents:UIControlEvents.TouchUpInside)
self.view.addSubview(button);
// Do any additi"onal setup after loading the view, typically from a nib.
}
func setBackColor() { //在这里实现协议方法
self.view.backgroundColor=UIColor.redColor()
}
func present(sender:UIButton!){
let model=ModelViewController()
model.delegate=self; //设置委托
self.presentViewController(model, animated:true, completion:
nil)
}
overridefunc didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
// ModelViewController.swift
import UIKit
protocol ModelViewDelegate{
func setBackColor();
}
class ModelViewController:UIViewController {
var delegate :ModelViewDelegate? //设置委托
overridefunc viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor=UIColor.grayColor()
let button=UIButton(frame:CGRectMake(100,100,
100,100))
button.setTitle("返回", forState:UIControlState.Normal)
button.addTarget(self, action:"backTo:", forControlEvents:UIControlEvents.TouchUpInside)
self.view.addSubview(button);
// Do any additional setup after loading the view.
}
func backTo(sender:AnyObject) {
self.delegate!.setBackColor()
self.dismissViewControllerAnimated(true,completion:nil)
}
overridefunc didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
相关文章推荐
- swift入门-实现简单的登录界面
- swift入门-实现简单的登录界面
- Android 非常简单的实现 Fragment状态栏一体化布局,状态栏字体的颜色改变,
- 简单实现界面的侧滑效果(Swift)仿QQ侧滑效果
- 纯swift实现ipad版简单美团界面功能
- C# winform中,简单实现Listview.Subitem.BackColor.ForeColor改变字体颜色,Listview.Subitem.BackColor 改变背景
- ipad版简单美团界面功能实现(纯swift编写)
- C# winform中,简单实现Listview.Subitem.BackColor.ForeColor改变字体颜色,Listview.Subitem.BackColor 改变背景
- 可改变颜色的文本,可实现透明文本
- 软件实现多国语言界面的简单方法
- 实现DataGrid的某一行随着鼠标的移入移出而改变颜色
- J2ME 3D学习笔记——实现简单的界面(附代码)
- 简单的颜色查看页面代码——基于DOM的实现
- jQuery的简单应用-实现文本框获取焦点时改变样式
- 模板列中CheckBox改变GridView行的颜色(2) (.cs页面实现)
- DDC/CI协议的简单实现
- .net平台 基于 XMPP协议的即时消息服务端简单实现 (转)
- 用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
- 用RichTextBox实现字符串中指定字符(汉字)的颜色改变
- 使用低级界面实现简单的数字输入