DetailViewController: UIViewController {
func viewDidLoad() {
.viewDidLoad()
//设置背景色
self.view.backgroundColor = UIColor.whiteColor()
//按title加载控件
loadControl(self.title!)
//设置代码和控件展示切换按钮,增加到导航条的右侧
//这里采用了navigationController不能增加navigationItem
let btn = UIBarButtonItem(title:
"代码"
target: self,action:
"btnCodeClicked:"
)
self.navigationItem.rightBarButtonItem = btn
}
func didReceiveMemoryWarning() {
.didReceiveMemoryWarning()
}
//构建控件并加载到界面
func loadControl(ctrl:
String
) {
switch
(ctrl) {
case
:
let
label
= UILabel(frame: self.view.bounds)
.backgroundColor = UIColor.clearColor()
.textAlignment = NSTextAlignment.Center
.font = UIFont.systemFontOfSize(
36
)
.text =
"Hello,hangge.com"
self.view.addSubview(
)
:
let button = UIButton(frame: CGRectMake(
110
120
100
60
))
button.backgroundColor = UIColor.blueColor()
button.setTitleColor(UIColor.redColor(),forState: UIControlState.Normal)
button.setTitleColor(UIColor.whiteColor(),forState: UIControlState.Highlighted)
button.setTitle(
"点击我"
button.addTarget(self,monospace!important; min-height:inherit!important; color:blue!important">"buttonClicked:"
forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(button)
:
let image = UIImage(named:
"swift.png"
)
let imageView = UIImageView(frame:
CGRectMake((CGRectGetWidth(self.view.bounds) - image!.size.width) /
2.0
120.0
image!.size.width,image!.size.height))
imageView.image = image!
self.view.addSubview(imageView)
:
let slider = UISlider(frame:CGRectMake(
60.0
200.0
30.0
))
self.view.addSubview(slider)
:
let webView = UIWebView(frame:self.view.bounds)
let url = NSURL(string:
"http://www.hangge.com"
let request = NSURLRequest(URL: url!)
webView.loadRequest(request)
self.view.addSubview(webView)
default
:
print(
"control name: (ctrl)"
)
}
}
//显示控件的代码
func loadCode(ctrl:
) {
str:
String
(ctrl) {
:
str =
"let label = UILabel(frame: self.view.bounds)n"
str +=
"label.backgroundColor = UIColor.clearColor()n"
"label.textAlignment = NSTextAlignment.Centern"
"label.font = UIFont.systemFontOfSize(36)n"
"label.text = "Hello,Ucai"n"
"self.view.addSubview(label)"
:
"UIButton"
:
"let slider = UISlider(frame:CGRectMake(60.0,120.0,200.0,30.0))n"
"self.view.addSubview(slider)"
:
"other ctrl"
}
//在导航条下方位置显示源代码
let txt = UITextView(
frame: CGRectMake(
0
))
txt.text = str
self.view.addSubview(txt)
}
//清空所有子视图
func clearViews() {
for
v
in
self.view.subviews
[UIView] {
v.removeFromSuperview()
}
}
func buttonClicked(sender:AnyObject) {
"you clicked button"
)
}
//显示控件的代码
func btnCodeClicked(sender:AnyObject) {
"title: (self.title)"
)
clearViews()
if
self.navigationItem.rightBarButtonItem!.title ==
{
loadCode(self.title!)
self.navigationItem.rightBarButtonItem!.title =
"效果"
}
else
{
"代码"
loadControl(self.title!)
}
}
/*
func btnBackClicked(sender:AnyObject) {
self.navigationController.navigationBar.popNavigationItemAnimated(true)
}
*/
}
|