Swift在UI中的应用

在UI中swift不是用init初始化 而是用() 属性都是"."出来的

例子:懒加载一个button


lazy var btn:UIButton = {

let button = UIButton(frame: CGRectMake(70,70,50,50))

button.backgroundColor = UIColor.redColor()

button.addTarget(self, action: "btnAction:", forControlEvents: UIControlEvents.TouchUpInside)//button的点击方法名除了双引号表示的 还有 Selector("btnAction:")  和  #selector(btnAction:) 这两种

return button

}()

button的点击事件方法的实现:进行界面跳转


func btnAction(btn:UIButton){

let secondVC = SecondViewController()

navigationController?.pushViewController(secondVC, animated: true)

}

懒加载一个label


lazy var label:UILabel = {

let temp = UILabel(frame: CGRectMake(70,150,90,30))

temp.backgroundColor = UIColor.cyanColor()

return temp

}()

用swift写tableview的时候 代理写的地方有点不同

//写在类的外面

//extension 本类名:协议名{}

例子:


extension ViewController:UITableViewDelegate,UITableViewDataSource{

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = tab.dequeueReusableCellWithIdentifier("ss", forIndexPath: indexPath) as! ContactCell//强转  我这边自定义了一个cell 并且定义了一个联系人类 又定义了一个单利 并且把联系人添加到数组中

let contact = ContactManager.shareContactManager.contactArray[indexPath.row]

cell.cellWithContact(contact)//在自定义cell中写了一个方法 来将联系人中的信息赋值给cell中的控件

return cell

}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

return ContactManager.shareContactManager.contactArray.count

}

}

你可能感兴趣的:(Swift在UI中的应用)