swift - 使用 uiTextView 关闭键盘

标签 swift uitextview xcode6 uikeyboard

我相信这并没有那么难,但我无法找到有关如何使用 TextView (而不是文本字段)使用返回/完成键关闭键盘的信息。这是我到目前为止尝试过的方法(适用于文本字段。)

非常感谢您的帮助!

//  PostTravelQuestion.swift

class PostTravelQuestion: UIViewController, UITextViewDelegate {

    @IBAction func closepostpage(sender: AnyObject) {
        dismissViewControllerAnimated(true, completion: nil)
    }


    @IBOutlet var postquestion: UITextView!


    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        postquestion.delegate = self
    }

    self addDoneToolBarToKeyboard:self.textView


    /*func textViewShouldEndEditing(textView: UITextView) -> Bool {

        textView.resignFirstResponder()

        return true
    }*/

    /*override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        postquestion.resignFirstResponder()
        self.view.endEditing(true)
    }*/



    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    func textViewShouldReturn(textView: UITextView!) -> Bool {
        self.view.endEditing(true);
        return true;
    }
}

最佳答案

这对我有用:

import UIKit

class ViewController: UIViewController, UITextViewDelegate {


    @IBOutlet weak var textView: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()

        textView.delegate = self
    }

    /* Updated for Swift 4 */
    func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
        if(text == "\n") {
            textView.resignFirstResponder()
            return false
        }
        return true
    }

    /* Older versions of Swift */
    func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
        if(text == "\n") {
            textView.resignFirstResponder()
            return false
        }
        return true
    }

}

关于swift - 使用 uiTextView 关闭键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26600359/

相关文章:

iphone - 动态 UIScrollView 中的动态 UITextView - iOS

storyboard - 以编程方式更改 Storyboard创建的窗口标题

Swift 错误无法使用类型为 '+' 的参数列表调用 '($T28, $T32)'

ios - 允许在 UITextView 中的任何位置选择光标

ios - UIDatePicker - DateFormatter 在选择器中选择的那一天后返回

uitextfield - 在 iOS7 文本放大镜在应用程序范围内不起作用

ios7 - "Could not instantiate class named UIStoryboardShowSegueTemplate"- 如何让 Storyboard对 iOS 7 和 iOS 8 满意?

core-data - 使用 Swift 和 XCode 在 Core Data 中存储整数

ios - UITableViewController 布局不起作用

swift - 在 Swift 中通过引用传递变量