美文网首页
textView下拉隐藏键盘,上拉不隐藏键盘

textView下拉隐藏键盘,上拉不隐藏键盘

作者: 风吹柳絮如花落 | 来源:发表于2021-08-27 18:11 被阅读0次
//
//  ViewController.swift
//  textview
//
//  Created by pengshengsong on 2021/8/27.
//

import UIKit

class ViewController: UIViewController, UITextViewDelegate {

    private lazy var textView: UITextView = {
        let textView = UITextView()
        textView.text = "输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本输入或粘贴文本"
        textView.backgroundColor = .red
        textView.textContainerInset = UIEdgeInsets.init(top: 16, left: 16, bottom: 0, right: 16)
        textView.contentInset = UIEdgeInsets.init(top: 0, left: 0, bottom: 16, right: 0)
        textView.layoutManager.allowsNonContiguousLayout = false
        textView.delegate = self
        textView.contentInsetAdjustmentBehavior = .never
        textView.keyboardDismissMode = .interactive
        return textView
    }()
    
    private var contentOffsetY: CGFloat = 0

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        view.addSubview(textView)
        textView.frame = CGRect.init(x: 100, y: 100, width: 300, height: 200)
    }
    
    var isSelecting = false
    
    public func scrollViewDidScroll(_ scrollView: UIScrollView) {
        if isSelecting { return }
        let deltaY = scrollView.contentOffset.y - contentOffsetY
        contentOffsetY = scrollView.contentOffset.y
        if deltaY <= 0 {
            textView.resignFirstResponder()//endEditing(true)
        }
        
    }
    
    func textViewDidChangeSelection(_ textView: UITextView) {
        isSelecting = textView.selectedRange.length > 0
    }
    
    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
        isSelecting = false
    }
}


相关文章

网友评论

      本文标题:textView下拉隐藏键盘,上拉不隐藏键盘

      本文链接:https://www.haomeiwen.com/subject/nmomiltx.html