文档章节

总结下 UITextViewDelegate 代理的每个方法

asjoker
 asjoker
发布于 2016/11/25 15:14
字数 318
阅读 71
收藏 0

#总结下 UITextViewDelegate 代理的每个方法


extension ViewController: UITextViewDelegate{
    /*
     几乎所有操作都会触发textViewDidChangeSelection,包括点击文本框、增加内容删除内容
     执行率高于 textViewDidBeginEditing 代理 也高于 UIKeyboardWillShowNotification 通知
     */
    func textViewDidChangeSelection(_ textView: UITextView) {
        print("\t textViewDidChangeSelection 几乎所有操作都会触发")
    }
    ///是否可以开始编辑
    func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
        print("\t textViewShouldBeginEditing 是否可以开始编辑")
        return true
    }
    ///是否可以结束编辑
    func textViewShouldEndEditing(_ textView: UITextView) -> Bool {
        print("\t textViewShouldEndEditing 是否可以结束编辑")
        return true
    }
    /// 开始编辑
    func textViewDidBeginEditing(_ textView: UITextView) {
        print("\t textViewDidBeginEditing 开始编辑")
    }
    /// 结束编辑
    func textViewDidEndEditing(_ textView: UITextView) {
        print("\t textViewDidEndEditing 结束编辑")
    }
    /// 编辑过程中触发
    func textViewDidChange(_ textView: UITextView) {
        print("\t textViewDidChange 编辑过程中触发")
    }
    /// 编辑过程中触发,是否将 变更的内容 写入textView
    func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
        print("\t 变更范围 \(range.length) \(range.location) - 变更内容 \(text)")
        return true
    }
    
    func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange) -> Bool {
        print("\t shouldInteractWith \(URL)")
        return true
    }
    func textView(_ textView: UITextView, shouldInteractWith textAttachment: NSTextAttachment, in characterRange: NSRange) -> Bool {
        print("\t shouldInteractWith \(textAttachment)")
        return true
    }
    
    @available(iOS 10.0, *)
    func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
        print("\t shouldInteractWith \(URL)")
        return true
    }
    @available(iOS 10.0, *)
    func textView(_ textView: UITextView, shouldInteractWith textAttachment: NSTextAttachment, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
        print("\t shouldInteractWith \(textAttachment)")
        return true
    }
}

© 著作权归作者所有

共有 人打赏支持
asjoker
粉丝 10
博文 108
码字总数 79411
作品 0
东城
程序员
iOS中UITextView方法解读

iOS中UITextView方法解读 常用属性解读: @property(nonatomic,assign) id<UITextViewDelegate> delegate; 设置代理属性 @property(nonatomic,copy) NSString *text; textView上的文本 @pro......

珲少
2015/06/04
0
0
Xamarin iOS文本框视图

Xamarin iOS文本框视图 与标签视图不同,文本框视图(一般使用UITextField类实现)可以接收用户的文本输入,并进行显示。 【示例2-16】以下将使用文本框来实现QQ登录界面的效果。具体步骤如下...

大学霸
2015/06/17
0
0
IOS键盘输入屏幕上移

在IOS开法中经常会遇到键盘遮挡屏幕的事情(比如输入账号密码验证码等等),就使得原本都不大的屏幕直接占了一半甚至更多的位置,这倒无所谓,关键是挡住了下面的按钮。这样的话按钮的事件也...

无邪8
2017/12/12
0
0
构建View时可能用到的代理函数调用顺序

很多时候,要记住iPhone试图加载的life-cycle对应的代理函数是有点头疼的,特别是用Interface Builder构建界面的情况下。这给如何找到最佳的位置来添加自定义的视图绘画/初始化/配置成为了一...

鉴客
2011/09/11
147
0
UITextView控件的详细讲解

1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: [csharp]view plaincopy #import <UIKit/UIKit.h> @interface TextViewController : UIViewController <UITextViewDeleg......

meilidashijie
2013/01/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【源码分析】面试问烂的equals和各种字符串、Integer比较

今天在空闲时间聊天时发现,面试题中的equals问题,以及String、Integer等的判等问题还是讨论的比较激烈而且混乱。。。(滑稽) 其实网上有非常多关于这种面试题的文章或者博客,其实多去看看就...

LinkedBear
8分钟前
3
0
jvm汇总

https://www.toutiao.com/i6490796229067276814/ https://tech.meituan.com/jvm_optimize.html

tantexian
8分钟前
0
0
限制MongoDB使用内存大小

限制MongoDB使用内存大小 0 收藏(6)因为MongoDB的内存是系统的虚拟内存管理的,MongoDB并不干涉内存管理工作,这样虽然可以简化Mongo的工作,但同时Mongo的内存使用是没法控制的。 真的没法控...

Airship
9分钟前
0
0
“赋能开发者”高峰论坛暨西安葡萄城30周年庆典隆重举办

 2018 年 10 月 18 日,“赋能开发者”高峰论坛暨西安葡萄城 30 周年庆典在古城西安隆重举办。   此次论坛由西安葡萄城信息技术有限公司(以下简称“西安葡萄城”)主办。作为软件开发行业...

葡萄城技术团队
11分钟前
0
0
聊聊storm的reportError

序 本文主要研究一下storm的reportError IErrorReporter storm-2.0.0/storm-client/src/jvm/org/apache/storm/task/IErrorReporter.java public interface IErrorReporter { void report......

go4it
11分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部