##day one 學到UI章節,不再是之前自己建立類了,而是呼叫別人建立好的的類來完成一些事。 基本的套路就是由UIview這個類建立一個物件,然後新增到介面上,弄點顏色,最後在用一些方法調整一下該圖形的位置和修改大小,這裡重點講解了一些方法: 1.frame改變座標和大小(redView.frame = CGRectMake(0,0,0,0)) 2.center中心點的位置(redView.center = CGPointMake(0,0)) 3.bounds座標和大小
4.transform 這是旋轉變形 redView.transform = CGAffineTransformMakeRotation(CGFloat(M_PI/4)) 這是縮小放大 redView.transform = CGAffineTransformMakeScale(0.5,0.5) 這是平移 redView.transform = CGAffineTransformMakeTransLation(0,300) 可以產生幾種形變 這裡是三種形變 redView.transform = CGAffineTransformRotate(CGAffineTransformMakeScale(0.5, 0.5), CGFloat(M_PI/8)) redView.transform = CGAffineTransformTranslate(redView.transform, 0, 300) 這裡是兩種形變 let transLation = CGAffineTransformMakeTranslation(100, 0) redView.transform = CGAffineTransformScale(transLation, 0.5, 2) 這是第二種方法兩種形變合併 let rotate = CGAffineTransformMakeRotation(0.2) let transLation1 = CGAffineTransformMakeTranslation(100, 100) redView.transform = CGAffineTransformConcat(rotate, transLation1) 利用紅綠藍三基色產生隨機色 redView.backgroundColor = UIColor(red: 48/255.0, green: 128/255.0, blue: 49/255.0, alpha: 1) 建立灰色 redView.backgroundColor = UIColor(white: 0.4, alpha: 1)
##day two 根據tag值來區別或者拿一些特定的檢視 這裡是把UIview裡面的所有屬性給予給sub,而sub是有一個tag的陣列,這樣通過對陣列的遍歷然後檢視不同的tag來獲取對應不同的檢視。
let sub = self.view.subviews
//4.設定tag值,預設值為0,設定tag值的時候不是0
//用來區分不同的介面上不同的檢視
redView.tag = 100
//拿到所有的子檢視中的紅色檢視和黃色檢視
// for item in sub{
// //判斷item是否是UIView型別
// if item.isKindOfClass(UIView.self){
// print(item)
// }
// }
//b.
for item in sub{
if item.tag == 100{
print("紅色檢視")
//將紅色檢視的背景顏色變成橙色
item.backgroundColor = UIColor.orangeColor()
}
else if item.tag == 101{
print("黃色檢視")
}
}
複製程式碼
一個檢視只有一個父類,那麼怎麼獲取負累捏,這裡有個簡單的辦法
let superView = redView.superview
superView?.backgroundColor = UIColor.blueColor()
複製程式碼
檢視之間的上下關係
//2.將指定的檢視放到最上層
self.view.bringSubviewToFront(view2)
//3.將指定的檢視放到最下層
self.view.sendSubviewToBack(view1)
//4.將指定的檢視插入到另一個檢視的上面
//前面的是指定的檢視 後面的是另外一個檢視
self.view.insertSubview(view2, aboveSubview: view3)
//5.將指定的檢視插入到另一個檢視的下面
self.view.insertSubview(view2, belowSubview: view1)
複製程式碼
4中動畫效果UIView.animateWithDuration 還有個layer切圓角
//layer屬性是負責檢視的形狀(顯示)
//切圓角
//當圓角的值為正方形邊長的一半 就可以切成圓
self.subView.layer.cornerRadius = 50
//設定邊框
self.subView.layer.borderWidth = 25
self.subView.layer.borderColor = UIColor.redColor().CGColor
複製程式碼
label上的文字和它的關係
let ocStr = str as NSString
//計算字串的大小
//引數1:限制顯示當前字串的最大寬度和最大高度
//引數2:設定渲染方式
//引數3:確定文字的字型大小
//NSFontAttributeName -> 字型對應的key值
//NSForegroundColorAttributeName -> 文字顏色對應的key值
let strSize = ocStr.boundingRectWithSize(CGSizeMake(200, 10000000000), options: .UsesLineFragmentOrigin, attributes: [NSFontAttributeName:UIFont.systemFontOfSize(17)], context: nil).size
複製程式碼
這裡主要講了label的屬性
//1.建立UILabel的物件
let label = UILabel(frame: CGRectMake(100,100,200,50))
//2.新增到介面上
self.view.addSubview(label)
//3.設定背景顏色
label.backgroundColor = UIColor.yellowColor()
//=========UILabel的專有屬性============
//1.text屬性
//設定LAbel上顯示的文字
label.text = "趙坤鵬"
//拿到label上顯示的文字
print(label.text)
//**
//設定字型
//使用系統字型,設定字型大小預設是:17
label.font = UIFont.systemFontOfSize(40)
//weight設定字型的粗細(0~1)
label.font = UIFont.systemFontOfSize(17, weight: 0.5)
//使用系統黑體,設定字型大小
label.font = UIFont.boldSystemFontOfSize(17)
//使用系統斜體,設定字型大小
label.font = UIFont.italicSystemFontOfSize(17)
//獲取系統所有字型的字型名
print(UIFont.familyNames())
//**引數1;字型名
//引數2:字型大小
label.font = UIFont(name: "HYZhuanShuF", size: 40)
//總結使用自己的字型的步驟:
//1.將ttf檔案拖到工程中
//2.在info。plist檔案中新增鍵值對“Fonts provided by application”,將字型新增到系統字型庫中
//3.通過提供字型名的構造方法來建立字型(先要找到自己新增的字型名)
//
//設定文字顏色
label.textColor = UIColor.redColor()
//設定陰影顏色
label.shadowColor = UIColor.grayColor()
//設定陰影的偏移效果
label.shadowOffset = CGSizeMake(-2, -1)
//預設是左對齊
//設定文字的居中模式 -center
//Right - 右對齊
//
label.textAlignment = .Center
//設定行數
label.numberOfLines = 5
//自動換行
label.numberOfLines = 0
//換行模式(以單詞換行)
label.lineBreakMode = .ByWordWrapping
複製程式碼
##day three 主要講的是兩種圖片建立方式 1.前者是建立小圖 頻繁使用的為最佳 但是要程式結束後才會銷燬
2.後者是建立大圖 不頻繁使用的為最佳 不再使用的時候就銷燬 節約記憶體的目的
//UIImageView:UIView
//==========UIView的屬性和方法==========
//1.建立UIImageView物件
let imageView = UIImageView.init(frame: CGRectMake(0, 100, 300, 300))
//2.新增到介面上
self.view.addSubview(imageView)
//3.設定背景顏色
imageView.backgroundColor = UIColor.yellowColor()
//=========UImageView專有屬性=========
//1.image屬性
//a.通過圖片名去建立一個圖片物件(注意:如果圖片的格式是png,那麼圖片名的字尾可以省略。但是其他格式的圖片的圖片名的字尾不能省略)
imageView.image = UIImage.init(named: "back2.jpg")
//b.通過圖片路徑去建立一個圖片物件
//將檔案(除了swift檔案)放到工程中,實質是放到了當前應用程式的包檔案中
//(想要拿到工程中的圖片路徑先要獲取包檔案;)
//拿到包中的指定的檔案的路徑
let imagePath = NSBundle.mainBundle().pathForResource("back2", ofType: "jpg")
imageView.image = UIImage.init(contentsOfFile: imagePath!)
//c.比較通過圖片名和通過圖片地址建立圖片物件的兩種方法:
//(1).通過圖片名建立的圖片物件在程式結束後才會被銷燬,只會建立一次;通過圖片地址建立圖片物件是當前圖片物件不再使用的時候就銷燬
//(2)使用圖片名建立圖片的情況:建立小圖示的時候;在工程中會重複使用的圖片
//(3)使用圖片地址建立圖片物件的情況:不會頻繁的在多個介面出現的大圖
//2.內容模式
imageView.contentMode = .ScaleToFill
複製程式碼
##這裡主要講了利用定時器和圖片組一起組合而成的運動專案 難點就是注意呼叫定時器方法的時候有引數注意:一個引數一個: 將圖片弄到陣列裡面 便利組合 然後放在animationImages裡面,從而實現動畫效果
class ViewController: UIViewController {
//MARK: - 屬性
var imageView = UIImageView()
//MARK: - 生命週期
override func viewDidLoad() {
super.viewDidLoad()
self.creatImageView()
//建立一個定時器,並且自動開啟
//引數1:定時時間
//引數2:呼叫方法的物件
//引數3:儲存定時時間到了以後需要呼叫的方法(可以不帶參也可以帶參,但是如果帶參只能帶一個參,並且引數型別是NSTimer型別)
//引數4:給當前的NSTimer的userInfo屬性賦的值(一般寫nil)
//引數5:是否重複
//功能:每隔0.1秒,self去呼叫一次timerAction方法
NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: "timerAction:", userInfo: "aaa", repeats: true)
}
//定時器方法
//引數:當前定時器
func timerAction(timer:NSTimer) {
print(timer.userInfo)
self.imageView.frame.origin.x += 3
//判斷小鳥是否飛到了螢幕邊緣
if self.imageView.frame.origin.x >= self.view.bounds.width - self.imageView.bounds.width {
//暫停定時器
timer.fireDate = NSDate.distantFuture()
//讓定時器繼續
//timer.fireDate = NSDate.distantPast()
}
}
//建立imageView
func creatImageView() {
//1.建立一個UIImageView物件
//通過圖片去建立一個imageView;UIImageView的大小是圖片的大小,座標是(0,0)
imageView = UIImageView.init(image: UIImage.init(named: "DOVE 1.png"))
//2.顯示在介面上
self.view.addSubview(imageView)
//3.使用UIImageView播放幀動畫
//a.設定幀動畫陣列
//建立一個空的圖片陣列
var imageArray = [UIImage]()
//通過for迴圈建立18張圖片
for item in 1...18 {
//拼接圖片名
let imageName = "DOVE \(item).png"
//建立對應的圖片
let image = UIImage.init(named: imageName)
//將圖片存到陣列中
imageArray.append(image!)
}
imageView.animationImages = imageArray
//b.設定動畫時間,單位秒
imageView.animationDuration = 1
//c.設定動畫的重複次數(預設是0->無限迴圈)
imageView.animationRepeatCount = 0
//d.開始動畫
imageView.startAnimating()
}
}
複製程式碼
這裡主要講了利用UIButton來實現一些功能 給按鈕弄上圖片的方法和文字當時最重要的是點選按鈕事件 同時跳轉到按鈕上的方法 實現一些事情
//MARK: - 圖片文字按鈕
func imageTitleBtn() {
//a.同時設定title和image屬性,顯示是圖片在左,文字在右
//b.同時設定title和groundImage,顯示是圖片在下層,文字在上層
//1.建立一個按鈕物件
let btn1 = UIButton.init(frame: CGRectMake(100, 300, 100, 50))
self.view.addSubview(btn1)
//2.設定title
btn1.setTitle("標題", forState: .Normal)
btn1.setTitleColor(UIColor.whiteColor(), forState: .Normal)
//3.設定圖片
//btn1.setImage(UIImage.init(named: "luffy1"), forState: .Normal)
btn1.setBackgroundImage(UIImage.init(named: "luffy2"), forState: .Normal)
//4.新增事件
btn1.addTarget(self, action: "btnAction:", forControlEvents: .TouchUpInside)
}
//MARK: - 圖片按鈕
func imageButton() {
//1.建立一個按鈕物件
let imageBtn = UIButton.init(frame: CGRectMake(100, 200, 80, 80))
//2.新增到介面上
self.view.addSubview(imageBtn)
//3.設定圖片
//引數1:圖片
//引數2:狀態(正常、高亮、選中、不可用)
imageBtn.setImage(UIImage.init(named: "luffy1"), forState: .Normal)
//4.新增按鈕點選事件
imageBtn.addTarget(self, action: "btnAction:", forControlEvents: .TouchUpInside)
}
//MARK: - 文字按鈕
func titleButton() {
//UIButton:UIControl:UIView
//UIButton上有一個titleLabel專門負責按鈕上文字的顯示;有一個imageView專門負責按鈕上圖片的顯示
//=========UIView的屬性和方法========
//1.建立UIButton物件
let titleBtn = UIButton.init(frame: CGRectMake(100, 100, 100, 50))
//2.新增到介面上
self.view.addSubview(titleBtn)
//3.設定背景顏色
titleBtn.backgroundColor = UIColor.redColor()
//=========UIButton專有的屬性和方法======
//1.設定按鈕上顯示的文字(給不同的狀態設定不一樣的文字)
//引數1:想要在按鈕上顯示的文字
//引數2:狀態
//Normal -> 正常狀態(按鈕正常顯示,沒有被點選或者按下的時候)
//Highlighted ->高亮(按鈕被按下,沒有彈起來的時候的狀態)
//Selected -> 選中狀態
//Disabled -> 不可用狀態(按鈕不能被點選)
titleBtn.setTitle("正常", forState: .Normal)
titleBtn.setTitle("高亮", forState: .Highlighted)
titleBtn.setTitle("選中", forState: .Selected)
titleBtn.setTitle("不可用", forState: .Disabled)
//2.設定當前按鈕是否選中(預設是false->非選中)
titleBtn.selected = false
//3.設定當前按鈕是否可用(預設是true->可用)
titleBtn.enabled = true
//4.設定文字顏色(給不同的狀態設定不一樣的顏色)
titleBtn.setTitleColor(UIColor.yellowColor(), forState: .Normal)
titleBtn.setTitleColor(UIColor.lightGrayColor(), forState: .Disabled)
//注意:按鈕上的文字和文字顏色,必須通過對應的set方法去根據狀態去設定。其他和文字相關的屬性可以通過拿到titleLabel去設定
//5.設定按鈕上的文字字型
titleBtn.titleLabel?.font = UIFont.systemFontOfSize(12)
//6.設定按鈕上的文字的對齊方式
titleBtn.titleLabel?.textAlignment = .Right
//!!!7.給按鈕新增事件
//引數1:呼叫方法的物件
//引數2:指定事件發生後引數1要去呼叫的方法(這個方法可以不帶參,如果帶參只能帶一個,並且引數的型別是UIButton型別),實參就是當前新增事件的按鈕本身
//引數3:事件
//TouchDown -> 按下事件
//功能:當按鈕被按下的時候,self會去呼叫btnAction方法
//TouchUpInside ->按下彈起事件
//功能:當按鈕被按下彈起來的時候,self會去呼叫btnAction方法
titleBtn.addTarget(self, action: "btnAction:", forControlEvents: .TouchUpInside)
}
//MARK: - 按鈕點選
func btnAction(btn:UIButton) {
//CGFloat(arc4random()%256)/255
//設定按鈕的背景顏色是隨機色
btn.backgroundColor = UIColor.init(red: CGFloat(arc4random()%256)/255, green: CGFloat(arc4random()%256)/255, blue: CGFloat(arc4random()%256)/255, alpha: 1)
}
}
複製程式碼
由於按鈕是由圖片和文字組合而成的,這裡是製作按鈕按照一定比例組合而成
//圖片高度是整個按鈕高度的4/5;文字高度是整個按鈕高度的1/5
//功能:設定button上的imageView的座標和大小
//引數1:當前按鈕的範圍(只需要大小)
//返回值:重新設定的圖片的座標和大小
override func imageRectForContentRect(contentRect: CGRect) -> CGRect {
let x:CGFloat = 0
let y:CGFloat = 0
let w:CGFloat = contentRect.size.width
let h:CGFloat = contentRect.size.height * 4 / 5
return CGRectMake(x, y, w, h)
}
//功能:設定button上的titleLabel的座標和大小
//引數1:當前按鈕的範圍(只需要大小)
//返回值:重新設定的文字的座標和大小
override func titleRectForContentRect(contentRect: CGRect) -> CGRect {
let x:CGFloat = 0
let y:CGFloat = contentRect.size.height * 4 / 5
let w = contentRect.size.width
let h = contentRect.size.height / 5
return CGRectMake(x, y, w, h)
//1.建立按鈕物件
let btn = YTButton(frame: CGRectMake(100,100,200,220))
//2.設定文字
btn.setTitle("點我試試", forState: .Normal)
btn.setTitleColor(UIColor.redColor(), forState: .Normal)
btn.titleLabel?.textAlignment = .Center
//3.設定圖片
btn.setImage(UIImage.init(named: "luffy4"), forState: .Normal)
//4.新增到介面上
self.view.addSubview(btn)
//5.新增按鈕點選事件
btn.addTarget(self, action: "btnAction", forControlEvents: .TouchDown)
}
//MARK: - 按鈕點選事件
func btnAction() {
print("我就點啦!你想怎麼的?")
}
}
複製程式碼
##day four ##這裡主要介紹一下文字框的使用 1.文字框的建立(顏色 大小 加入到介面上)
let textField = UITextField(frame: CGRectMake(100,100,200,50))
self.view.addSubview(textField)
textField.backgroundColor = UIColor.redColor()
複製程式碼
2.文字框的一些具體內容 文字的顏色,字型的大小
textField.textColor = UIColor.brownColor()
textField.font = UIFont.systemFontOfSize(14)
複製程式碼
3.這裡還有幾個實用的方法 4.對齊方式(左對齊 右對齊 居中 注意 這裡是列舉)和佔位文字(就是框框裡面有幾個可以提醒的文字)
textField.placeholder = "請輸入賬號"
textField.textAlignment = .Center
複製程式碼
5.文字框的表面樣式設計(注意是列舉)和右邊叉叉清理按鈕(可以全部一次性清理完),左右檢視
textField.borderStyle = .RoundedRect
textField.clearButtonMode = .Always
let imageView = UIImageView(frame: CGRectMake(0,0,40,40))
imageView.image = UIImage(named: "QFImage_2016-08-24_16.45.52")
textField.leftView = imageView
//設定左檢視的顯示模式(確定什麼時候顯示,預設從不顯示)
textField.leftViewMode = .Always
let rightLabel = UILabel(frame: CGRectMake(0,0,40,40))
rightLabel.text = "你好"
textField.rightView = rightLabel
textField.rightViewMode = .Always
複製程式碼
6.設定代理 6個方法
textField.delegate = self
//在textField將要開始編輯的時候會自動呼叫
//引數:當前協議定義的委託
//返回值:設定當前的textField是否可以進行編輯(預設是true)
//1.
func textFieldShouldBeginEditing(textField: UITextField) -> Bool{
print("將要開始編輯")
return true
}
//2.
//當文字輸入框已經開始編輯的時候會自動呼叫這個方法
func textFieldDidBeginEditing(textField: UITextField) {
print(textField.text)
print("已經開始編輯")
}
//3.當文字輸入框將要結束編輯的時候會自動呼叫這個方法
//返回:設定當前的textField是否可以結束編輯(預設是true)
func textFieldShouldEndEditing(textField: UITextField) -> Bool {
//要求文字輸入框的文字長度要大於等於8的時候才能結束編輯
//對將要輸入的密碼進入限定達到某個要求才能離開=============
if textField.text?.characters.count >= 8{
return true
}
return false
}
//4.當文字輸入框已經結束編輯的時候會自動呼叫這個方法(游標消失的時候)
//
//
//
func textFieldDidEndEditing(textField: UITextField) {
}
//5.當點選textField彈出來的鍵盤上的按鈕的時候會自動呼叫這個方法
//引數1:委託
//引數2;當前輸入字元所在的位置
//引數3;當前輸入的字串(在鍵盤上按的鍵的值)
//返回值:是否可以改變textField的text屬性();false ->鍵盤上的按鍵無效
//(用來設定密碼驗證很好)
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
print(range)
print(string)
if string == "0"{
print("進入祕密頁面")
}
return true
}
//6.當按鍵盤的返回按鈕的時候,會自動呼叫
func textFieldShouldReturn(textField: UITextField) -> Bool {
print("fan")
//收起鍵盤(結束編輯)
//1.放棄第一響應者
textField.resignFirstResponder()
//2.直接結束指定的textField編輯
textField.endEditing(true)
//3.讓self.view上的所有的子檢視都結束編輯
self.view.endEditing(true)
return true
}
複製程式碼
##day five
1.UISwitch 開關
//1.建立開關物件
//UISwitch:UIControl:UIView
let sw = UISwitch(frame:CGRectMake(100,100,100,50))
self.view.addSubview(sw)
//核心屬性:開關狀態(預設是:關)
//設定開關的狀態
sw.on = true//false ->關
sw.setOn(false, animated: true)
//拿到當前的狀態
print(sw.on)
//核心方法
//引數1:呼叫方法的物件
//引數2;指定的事件發生後引數1要去呼叫的方法對應的selector
//引數3:事件
//功能:當開關的值發生改變的時候,self會去呼叫用switchAction方法
sw.addTarget(self, action: "switchAction:", forControlEvents: .ValueChanged)
//設定開關開的顏色(預設是綠色)
sw.onTintColor = UIColor.redColor()
//s設定開關關的邊框的顏色
sw.tintColor = UIColor.purpleColor()
//設定開關上滑塊的顏色
sw.thumbTintColor = UIColor.yellowColor()
複製程式碼
2.UISlider 滑條
//建立滑條物件
let slider = UISlider(frame: CGRectMake(100,160,200,20))
self.view.addSubview(slider)
//核心屬性:值(滑塊的位置對應的值)
//value;滑塊當前的位置對應的值 預設是0~1
slider.value = 50
//最小值和最大值
slider.minimumValue = 0
slider.maximumValue = 100
//核心方法
slider.addTarget(self, action: "sliderAction:", forControlEvents: .ValueChanged)
//顏色屬性
slider.thumbTintColor = UIColor.yellowColor()
//新增圖片屬性
// slider.maximumValueImage = UIImage(named: "螢幕快照 2016-08-26 上午9.02.04")
slider.setThumbImage(UIImage(named: "luffy1"), forState: .Normal)
//是否連續改變
// slider.setThumbImage(UIImage(named: "luffy2"), forState: .Highlighted)
slider.continuous = false
複製程式碼
3.UIStepper 步進器
//1.建立步進器物件
let stepper = UIStepper(frame: CGRectMake(100,200,100,50))
self.view.addSubview(stepper)
//核心屬性:值
//當前值
stepper.value = 1
print(stepper.value)
//最大值
stepper.maximumValue = 10
//最小值
stepper.minimumValue = 0
//步進(每按一下加或者減,增加/減少的值)
stepper.stepValue = 1//步進值必須大於0
//核心方法
stepper.addTarget(self, action: "stepperAction:", forControlEvents: .ValueChanged)
//設定值是否連續改變(按住不放的時候)
stepper.continuous = false
//是否重複 false -> 按住不放的時候不計數;true->按住不放的時候計數(預設)
stepper.autorepeat = false
//設定填充顏色
stepper.tintColor = UIColor.redColor()
複製程式碼
4.進度條
//1.建立進度條物件
let progress = UIProgressView(frame: CGRectMake(100,300,200,20))
self.view.addSubview(progress)
//核心屬性
//設定當前進度
progress.progress = 0.5
progress.setProgress(0.6, animated: true)
progress.progressImage = UIImage(named: "luff1")
progress.progressTintColor = UIColor.redColor()
progress.tag = 100
複製程式碼
5.活動指示器
//1.建立物件
let activity = UIActivityIndicatorView(frame: CGRectMake(100,360,50,50))
self.view.addSubview(activity)
//3.想要讓活動指示器顯示,必須讓它開始動畫
activity.startAnimating()
//4.停止動畫 ->活動指示器酒會消失
// activity.stopAnimating()
//
activity.activityIndicatorViewStyle = .WhiteLarge
複製程式碼
6.多段選擇器
//1.建立多段選擇器物件
//引數1:分段選擇器上的內容對應的陣列
let segement = UISegmentedControl(items: ["海賊王","火影忍者","死神"])
segement.frame = CGRectMake(100, 400, 200, 50)
self.view.addSubview(segement)
//核心屬性
//每個分段上的內容
//每個分段上的內容 ->通過建立分段選擇器的時候去設定
//當前選中的分段的下標(從0開始)
segement.selectedSegmentIndex = 1
segement.addTarget(self, action: "segementAction:", forControlEvents: .ValueChanged)
//拿到分段選擇器的分段數
print(segement.numberOfSegments)
segement.tintColor = UIColor.whiteColor()
複製程式碼
讓進度條跟著畫條動
func sliderAction(slider:UISlider){
print(slider.value)
let progress = self.view.viewWithTag(100) as! UIProgressView
let t = slider.value/(slider.maximumValue - slider.minimumValue)
progress.setProgress(t, animated: true)
}
複製程式碼
7.UIAlertController 警報框
//1.表單檢視
//引數1:標題
//引數2;
//引數3:ActionSheet->表單,Alert ->警告框
//
//
let laterController = UIAlertController(title: "標題", message: nil, preferredStyle: .Alert)
//2.新增到介面
//引數1:需要顯示的檢視控制器
//引數2:風格
//引數3:當前選項對應的按鈕唄點選後會執行的程式碼對應的閉包
self.presentViewController(laterController, animated: true, completion: nil)
//Destructive風格
let okAction = UIAlertAction(title: "確定", style: .Destructive, handler: nil)
//Cancel的風格
let noAction = UIAlertAction(title: "取消", style: .Cancel, handler: nil)
laterController.addAction(okAction)
laterController.addAction(noAction)
複製程式碼
8.UITextView 文字框
var textView = UITextView()
// - textView
override func viewDidLoad() {
super.viewDidLoad()
//1.建立textView物件
// UITextView:UIScrollView:UiView
textView = UITextView(frame: CGRectMake(100, 100, 200, 70))
self.view.addSubview(textView)
textView.backgroundColor = UIColor.redColor()
//text屬性
textView.text = "dfdffddfd"
//5.設定是否可以選中
textView.selectable = true
//6.是否可以選中刪除所有
textView.clearsOnInsertion = true
//其他的屬性和方法參考UITextField
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
//獲取選中的範圍
let range = textView.selectedRange
print(range)
}
複製程式碼