原文地址:http://www.tairan.com/archives/6600
關于Swift語法,可以參考《Apple Swift編程語言入門教程》
效果如下:
Choose File > New > PRoject > (iOS or OS X) > application > your template of choice.
此處選擇 Single view Application。
在ViewController.swift文件中進行編碼,該文件類似Objective-C的ViewController.m。
UILabel 控件常用于顯示文本標簽
下面我們來創建一個label, 查看UILabel類發現其繼承于UIView, NSCoding。
可以通過類似創建view的方法,設置大小和lebel的text,通過addSubview方法將其加到當前view上。
代碼如下:
let label =UILabel(frame:CGRect(origin:CGPointMake(10.0,50.0), size:CGSizeMake(150,50)))//let 是Swift 表示常量的關鍵字 label.text ="This is a Label"self.view.addSubview(label)
UILabel創建參數使用了別名,這點像Object-C。
UIButton 控件常用于按鈕。
下面我們來創建一個button按鈕,并設置它的UIControlEvents.TouchUpInside事件的處理,查看UIButton類發現其繼承于UIControl, NSCoding。
可以通過類似創建view的方法,指定位置和大小創建一個按鈕,然后設置按鈕的titile,設置按鈕的背景色,并設置按鈕的touch事件。
最后通過addSubview方法將其加到當前view上。
代碼如下:
let btn =UIButton(frame:CGRect(origin:CGPointMake(10.0,110.0), size:CGSizeMake(150,50))) btn.setTitle("button", forState:UIControlState.Normal) btn.backgroundColor =UIColor.redColor() btn.addTarget(self, action:"buttonClick:", forControlEvents:UIControlEvents.TouchUpInside)self.view.addSubview(btn)
buttonClick方法實現如下:
func buttonClick(sender:UIButton!){}
UIButton后面的! 意味著,sender可以是由UIButton繼承來的任意子類。
UIAlertView 常用于彈出對話框,下面我們來創建一個alert。
UIAlertView類繼承于UIView,我們先創建了一個alert,然后設置alert的title、message、button、delegate。
然后調用UIAlertView的show方法,顯示alert。
我們是在button的touch回調事件中處理alert的創建和顯示的。在buttonClick方法中添加如下代碼:
var alert =UIAlertView()//直接這樣創建有bug//var alert = UIAlertView(title: "alert", message: "this is an alert", delegate: self, cancelButtonTitle: "cancel") alert.title ="alert" alert.delegate=self alert.addButtonWithTitle("cancel") alert.message ="this is an alert" alert.show()
delegate和self,依然有Object-C的影子。
修改ViewController的聲明,加入UIAlertViewDelegate
classViewController:UIViewController,UIAlertViewDelegate
實現alert的delegate方法,處理button的click事件。
//處理alert 的button click func alertView(alertView:UIAlertView!, clickedButtonAtIndex buttonIndex:Int){ println("buttonIndex:/(buttonIndex)")}
Swift 的UIKit API接口和 Objective-C的API接口總體上保持一致,熟悉原來的UIKit接口的話,上手Swift UI開發應該很快。
可以通過文檔和API手冊查看各Objective-C的API 如何使用Swift 的API進行編程。
你可以在這里獲取本文的Demo。
新聞熱點
疑難解答