• UIKit框架-高级控件Swift版本: 5.UITextView方法/属性详解


    前面我们讲完了iOS中的两个表格控件, 现在让我们继续往下看:


    1.UITextView常用属性

    // 1.设置 UITextView 的文字
    var text: String!
    
    // 2.设置 UITextView 的字体大小
    var font: UIFont!
    
    // 3.设置 UITextView 的字体颜色
    var textColor: UIColor!
    
    // 4.设置 UITextView 的字体排序, 默认是从左往右
    var textAlignment: NSTextAlignment
    
    // 5.设置 UITextView 是否可编辑
    var editable: Bool
    
    // 6.设置 UITextView 是否可以点击
    var selectable: Bool
    
    // 7.设置 UITextView 的超文本样式
    var dataDetectorTypes: UIDataDetectorTypes
    
    // 8.设置 UITextView 在长按下是否可以选择不同的文字样式
    var allowsEditingTextAttributes: Bool
    
    // 9.设置 UITextView 的文本容器边界
    var textContainerInset: UIEdgeInsets
    
    // 10.设置 UITextView 是否点击编辑时把旧内容全选
        var clearsOnInsertion: Bool

    2.UITextView 的代理方法

    // 1.该方法是用来设置 UITextView 是否可以编辑
        optional func textViewShouldBeginEditing(textView: UITextView) -> Bool
    
    // 2.该方法是用来设置 UITextView 是否可以结束编辑
        optional func textViewShouldEndEditing(textView: UITextView) -> Bool
    
    // 3.该方法是用来设置 UITextView 在开始编辑时调用
        optional func textViewDidBeginEditing(textView: UITextView)
    
    // 4.该方法是用来设置 UITextView 在结束编辑时调用
        optional func textViewDidEndEditing(textView: UITextView)
    
    // 5.该方法是用来设置 UITextView 内容是否可更改
        optional func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool
    
    // 6.该方法是用来设置 UITextView 内容更改后时调用
        optional func textViewDidChange(textView: UITextView)
    
    // 7.该方法是用来选择需要更改内容的 UITextView
        optional func textViewDidChangeSelection(textView: UITextView)

    3.代码演示

    首先得遵守一下代理协议

    class ViewController: UIViewController, UITextViewDelegate {
    }

    自定义UITextView

        func myTextView() {
    
            // 1.自定义 UITextView 以及文本容器的大小
            var textView = UITextView(frame: CGRectMake(0, 200, self.view.frame.width, 200))
    
            // 2.设置 UITextView 的文本内容
            textView.text = "http://www.baidu.com
    abcdefghijk"
    
            // 3.设置 UITextView 的文本颜色
            textView.textColor = UIColor.redColor()
    
            // 4.设置 UITextView 的文字大小
            textView.font = UIFont.systemFontOfSize(30)
    
            // 5.设置 UITextView 的文字对齐方式
            textView.textAlignment = NSTextAlignment.Center
    
            // 6.设置 UITextView 是否可编辑
            textView.editable = true
    
            // 7.设置 UITextView 是否可以选中
            textView.selectable = true
    
            // 8.设置 UITextView 的背景颜色
            textView.backgroundColor = UIColor.greenColor()
    
            // 9.设置 UITextView 的超文本样式
            textView.dataDetectorTypes = UIDataDetectorTypes.All
    
            // 10.设置 UITextView 的文本长按时是否可以更改为粗体, 斜体或者斜体下划线样式
            textView.allowsEditingTextAttributes = true
    
            // 11.设置 UITextView 的文本容器边界
            textView.textContainerInset = UIEdgeInsetsMake(10, 10, 10, 10)
    
            // 12.设置 UITextView 是否点击编辑时把旧内容全选
            textView.clearsOnInsertion = true
    
            // 13.设置 UITextView 的代理对象
            textView.delegate = self
    
            // 14.添加到 self.view
            self.view.addSubview(textView)
        }

    实现代理方法

        // 1.该方法是用来设置 UITextView 是否可以编辑
        func textViewShouldBeginEditing(textView: UITextView) -> Bool {
            println("正在开始编辑")
            return true
        }
    
        // 2.该方法是用来设置 UITextView 是否可以结束编辑
        func textViewShouldEndEditing(textView: UITextView) -> Bool {
            println("正在结束编辑")
            return true
        }
    
        // 3.该方法是用来设置 UITextView 在开始编辑时调用
        func textViewDidBeginEditing(textView: UITextView) {
            println("开始编辑")
        }
    
        // 4.该方法是用来设置 UITextView 在结束编辑时调用
        func textViewDidEndEditing(textView: UITextView) {
            println("结束编辑")
        }
    
        // 5.该方法是用来设置 UITextView 内容是否可更改
        func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
            println("正在更改内容")
            return true
        }
    
        // 6.该方法是用来设置 UITextView 内容更改后时调用
        func textViewDidChange(textView: UITextView) {
            println("内容已经改变")
        }
    
        // 7.该方法是用来选择需要更改内容的 UITextView
        func textViewDidChangeSelection(textView: UITextView) {
            println("已经选择要更改内容的文本框")
        }
    

    在 viewDidLoad 调用

        override func viewDidLoad() {
            super.viewDidLoad()
            self.myTextView()
        }

    4.最终效果

    1
    1
    2
    2
    3
    3
    4
    4

    由于我在 Storyboard 中自己添加了一个 TextField, 所以效果会有些不一样.

    PS: UITextView 是继承于UIScrollView, UITextInput, UIKeyInput, UITextInputTraits, 所以它们的方法和属性, UITextView 都是可以使用的


    好了这次我们就讲到这里, 下次我们继续

  • 相关阅读:
    Oracle 更改DBID
    Oracle 修改字段长度
    Oracle 索引
    Oracle在无法打开数据库的状态下获取DBID
    Oracle 备份脚本
    Linux crontab计划任务
    Oracle restore和recovery的区别
    Django基础
    面向对象(一)
    socket
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4529345.html
Copyright © 2020-2023  润新知