• iOS 9应用开发教程之多行读写文本ios9文本视图


    iOS 9应用开发教程之多行读写文本ios9文本视图

    多行读写文本——ios9文本视图

    文本视图也是输入控件,与文本框不同的是。文本视图能够让用户输入多行,如图2.23所看到的。在此图中字符串“说点什么吧”这一区域就是使用文本视图实现的,用户能够在此区域中写大量的文本内容。一般文本框视图使用UITextView实现。


    2.23  写日志

    【演示样例2-9】下面将使用文本视图实现QQ中写说说并发表的功能。详细的操作过程例如以下:

    1)创建一个Single View Application模板类型的项目。命名为UITextView

    2)打开Main.storyboard文件,对主视图进行设计,效果如图2.24所看到的。

    须要加入的视图以及对它们的设置如表2-6所看到的。

    2-6  对视图对象的设置



    2.24  主视图的效果

    3)打开ViewController.swift文件,编写代码,此代码实现的功能是写说说并发表的功能。代码例如以下:

    • 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所看到的。当轻拍发表button后,在文本视图中写入的内容就会显示在还有一个文本视图中,而且键盘消失,如图2.28所看到的。


    2.27  执行效果                                 2.28  执行效果

    本文选自iOS 9应用开发基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人。

  • 相关阅读:
    前沿技术解密——VirtualDOM
    Ques核心思想——CSS Namespace
    Unix Pipes to Javascript Pipes
    Road to the future——伪MVVM库Q.js
    聊聊CSS postproccessors
    【译】十款性能最佳的压缩算法
    Kafka Streams开发入门(9)
    Kafka Streams开发入门(8)
    【译】Kafka Producer Sticky Partitioner
    【译】99th Percentile Latency at Scale with Apache Kafka
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/7055471.html
Copyright © 2020-2023  润新知