iOS 9應用開發教程之多行讀寫文本ios9文本視圖

iOS 9應用開發教程之多行讀寫文本ios9文本視圖

多行讀寫文本——ios9文本視圖

文本視圖也是輸入控件,與文本框不一樣的是,文本視圖能夠讓用戶輸入多行,如圖2.23所示。在此圖中字符串「說點什麼吧」這一區域就是使用文本視圖實現的,用戶能夠在此區域中寫大量的文本內容。通常文本框視圖使用UITextView實現。ios

2.23  寫日誌swift

【示例2-9】如下將使用文本視圖實現QQ中寫說說並發表的功能。具體的操做步驟以下:併發

1)建立一個Single View Application模板類型的項目,命名爲UITextViewide

2)打開Main.storyboard文件,對主視圖進行設計,效果如圖2.24所示。spa

須要添加的視圖以及對它們的設置如表2-6所示。.net

2-6  對視圖對象的設置設計

2.24  主視圖的效果日誌

3)打開ViewController.swift文件,編寫代碼,此代碼實現的功能是寫說說並發表的功能。代碼以下:orm

  • import UIKit對象

  • class ViewController: UIViewController,UITextViewDelegate {

  •     let wtv=UITextView(frame: CGRectMake(0, 97, 375, 232))

  •     let rtv=UITextView(frame: CGRectMake(0, 372, 375, 232))

  •     let label=UILabel(frame: CGRectMake(3, 105, 123, 21))

  •     override func viewDidLoad() {

  •         super.viewDidLoad()

  •         // Do any additional setup after loading the view, typically from a nib.

  •         self.view.addSubview(wtv)                             //添加文本視圖

  •         label.text="說點什麼吧..."                                 //設置標籤的文本內容

  •         label.enabled=false                                         //禁用標籤

  •         label.backgroundColor=UIColor.clearColor()

  •         wtv.delegate=self                                             //設置文本視圖的委託

  •         self.view.addSubview(label)

  •         self.view.addSubview(rtv)

  •         rtv.backgroundColor=UIColor.clearColor()

  •         rtv.editable=false                                                       //禁用文本視圖

  •         rtv.hidden=true                                                  //隱藏文本視圖

  • }

  • //監聽文字改變的消息

  • func textViewDidChange(textView: UITextView) {

  •     //判斷文本視圖的內容是否爲空

  •         if(wtv.text==""){

  •             label.text="說點什麼吧..."

  •         }else{

  •             label.hidden=true

  •         }

  • }

  • //隱藏鍵盤

  •     @IBAction func cancel(sender: AnyObject) {

  •          wtv.resignFirstResponder()

  • }

  • //發表說說,隱藏鍵盤

  •     @IBAction func issue(sender: AnyObject) {

  •         rtv.hidden=false

  •         rtv.text=wtv.text                                                           //設置文本視圖的文本內容

  •         wtv.resignFirstResponder()

  •     }

  • ……

  • }

運行程序後,會看到如圖2.25所示的效果。當開發者輕拍文本視圖後,會自動彈出鍵盤,如圖2.26所示。

2.25  運行效果                                2.26  運行效果

當開發者在文本視圖中輸入內容後,字符串「說點什麼吧」就會自動消失,如圖2.27所示。當輕拍發表按鈕後,在文本視圖中寫入的內容就會顯示在另外一個文本視圖中,而且鍵盤消失,如圖2.28所示。

2.27  運行效果                                 2.28  運行效果

本文選自:iOS 9應用開發基礎教程大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!

相關文章
相關標籤/搜索