zoukankan      html  css  js  c++  java
  • UITextView -- 基础备忘

    UITextView

    这篇文章只涉及到基本的使用,日后会写一些关于结合TextKit的备忘

    基本属性

            let screenSize = UIScreen.mainScreen().bounds.size
            let textView = UITextView(frame: CGRectMake(0, 20, screenSize.width, 200))
            textView.font = UIFont.systemFontOfSize(20)
            textView.selectable = false
            textView.scrollEnabled = true
            textView.editable = true
            textView.textColor = UIColor.whiteColor()
            textView.backgroundColor = UIColor.blackColor()
            textView.text = "The UITextView class implements the behavior for a scrollable, multiline text region. The class supports the display of text using custom style information and also supports text editing. You typically use a text view to display multiple lines of text, such as when displaying the body of a large text document."
            textView.textAlignment = .Center
            textView.textContainerInset = UIEdgeInsetsMake(60, 0, 0, 0)
            textView.keyboardType = .Default
            textView.returnKeyType = .Default
            view.addSubview(textView)
            
            self.textView = textView
    
    • font:字体
    • selectable:是否可以选中。
    • scrollEnabled:是否可以滚动。
    • editable:是否可以编辑。
    • textColor:文字颜色。
    • backgroundColor:背景色。
    • text:要显示的文字。
    • textAlignment:文字排版样式。
    • textContainerInset:文字的距离textview的内边距。
    • keyboardType:键盘样式。
    • returnKeyType:return键的样式。

    监听通知

            NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.textViewDidBeginEdit(_:)), name: UITextViewTextDidBeginEditingNotification, object: textView)
            NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.textViewTextDidChange(_:)), name: UITextViewTextDidChangeNotification, object: textView)
            NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.textViewDidEndEdit(_:)), name: UITextViewTextDidEndEditingNotification, object: textView)
    
        func textViewDidBeginEdit(notification: NSNotification) {
            print(notification.name)
        }
        
        func textViewTextDidChange(notification: NSNotification) {
            print(notification.object)
        }
        
        func textViewDidEndEdit(notification: NSNotification) {
            print(notification.name)
        }
    
        deinit{
            NSNotificationCenter.defaultCenter().removeObserver(self, name: UITextViewTextDidChangeNotification, object: textView)
            NSNotificationCenter.defaultCenter().removeObserver(self, name: UITextViewTextDidEndEditingNotification, object: textView)
            NSNotificationCenter.defaultCenter().removeObserver(self, name: UITextViewTextDidBeginEditingNotification, object: textView)
        }
    

    代理方法

    extension ViewController: UITextViewDelegate {
        // 是否应该开始编辑
        func textViewShouldBeginEditing(textView: UITextView) -> Bool {
            print("textViewShouldBeginEditing")
            return true
        }
        
        // 是否应该停止编辑
        func textViewShouldEndEditing(textView: UITextView) -> Bool {
            print("textViewShouldEndEditing")
            return true
        }
        
        // 文字视图已经开始编辑
        func textViewDidBeginEditing(textView: UITextView) {
            print("textViewDidBeginEditing")
        }
        
        // 文字视图已经停止编辑
        func textViewDidEndEditing(textView: UITextView) {
            print("textViewDidEndEditing")
        }
        
        // 文字视图是否允许替换文字,每当有文字要被输入或删除都会先调用这个方法
        func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
            if text == "
    " {
                textView.resignFirstResponder()
                return false
            }
            return true
        }
        
        // 文字视图文字已经被替换
        func textViewDidChange(textView: UITextView) {
            print("textViewDidChange")
        }
        
        // 每当有一组文字被选中或删除输入、放大镜的移动,都会调用此方法
        func textViewDidChangeSelection(textView: UITextView) {
            print("textViewDidChangeSelection")
        }
    
  • 相关阅读:
    SOGo 2.0 发布,群组协同工作系统
    微软随.NET 4.5发布新REST API框架
    DynamicReports 3.0.2 发布,Java 报表方案
    使用 Ant 集成 IBM Security AppScan Standard 进行自动测试
    SUSE 用 zypper 工具 安装 rpm
    嵌入式ARM系统中OpenCV的移植
    qtopiax86安装配置及编程方法
    [转]QTCreator的使用
    在Qt Creator中使用OpenCV库
    vim
  • 原文地址:https://www.cnblogs.com/Alex-sk/p/5595031.html
Copyright © 2011-2022 走看看