UILabel
用于显示文本的控件,继承于UIView,实现来NSCoding协议
class UILabel : UIView, NSCoding {...}
基本使用
let label = UILabel(frame:CGRect(origin: CGPointMake(10.0, 50.0), size: CGSizeMake(150,50)))
label.text = "This is a Label"
self.view.addSubview(label)
UIButton
按钮控件继承于UIControl ,实现NSCoding 协议,UIControl继承于UIView,UIControl 实现的添加点击时间函数
func addTarget(target: AnyObject?, action: Selector, forControlEvents controlEvents: UIControlEvents)
// remove the target/action for a set of events. pass in NULL for the action to remove all actions for that target
func removeTarget(target: AnyObject?, action: Selector, forControlEvents controlEvents: UIControlEvents)
基本使用
let btn = UIButton(frame: CGRect(origin: CGPointMake(20.0, 100.0), size: CGSizeMake(150,50)))
btn.setTitle("clickme", forState: UIControlState.Normal)
btn.backgroundColor = UIColor.blueColor()
btn.addTarget(self, action: "btnClickMe:", forControlEvents:UIControlEvents.TouchUpInside)
self.view.addSubview(btn)
func btnClickMe(sender:UIButton){
NSLog("btn clicked")
}
UIAlertView
弹出框控件,使用时实现 UIAlertViewDelegate,
基本使用
func btnClickMe(sender:UIButton){
NSLog("btn clicked")
var alertView = UIAlertView()
alertView.title = "Tips"
alertView.message = "密码错误"
alertView.delegate = self
alertView.addButtonWithTitle("Cancel")
alertView.addButtonWithTitle("OK")
alertView.show()
}
func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
NSLog("btn clicked \(buttonIndex)")//index 按照声明的顺序从0开始
}
UISwitch
开关按钮
let switchBtn:UISwitch = UISwitch(frame: CGRect(origin: CGPointMake(100, 200), size: CGSizeMake(0, 0)))
//未选中颜色,只能显示边框
switchBtn.tintColor = UIColor.redColor()
//小按钮
switchBtn.thumbTintColor = UIColor.greenColor()
//选中颜色
switchBtn.onTintColor = UIColor.blueColor()
self.view.addSubview(switchBtn)
弃用Storyboard
创建一个SingleView项目
删除Main.storyboard文件
-
删除info.plist里的main的引用
Main stroyboard file base name
补充AppDelegate 文件中的 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 方法
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
// Override point for customization after application launch.
self.window!.backgroundColor = UIColor.whiteColor()
self.window!.makeKeyAndVisible()
//定义一个视图控制器
let one_vc = ViewController();
//创建导航控制器
let nvc=UINavigationController(rootViewController:one_vc);
//设置根视图
self.window!.rootViewController=nvc;
self.window!.makeKeyAndVisible()
return true
}
UITableView
声明一个tableView ,Controller实现 UITableViewDataSource, UITableViewDelegate 协议
var tableView : UITableView?
设置相关代码
// 初始化tableView的数据
self.tableView=UITableView(frame:self.view.frame,style:UITableViewStyle.Plain)
// 设置tableView的数据源
self.tableView!.dataSource=self
// 设置tableView的委托
self.tableView!.delegate = self
self.tableView!.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
self.view.addSubview(self.tableView!)
实现几个回调函数
//列表的item数量
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
// item的内容
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
return UITableViewCell()
}
// 选中函数回调
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){}