在uitextview

时间:2016-02-17 04:45:38

标签: ios swift uikit

我在swift中使用uitextview,键盘消失,我使用uitextview委托方法

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

但我不想使用此委托方法返回键盘bcz我想使用返回键进行下一行。 还有其他方法可以消失键盘吗? 由于某种原因,我不会使用触摸事件。

5 个答案:

答案 0 :(得分:2)

除非使用自定义键盘,否则键盘上不能同时具有返回和关闭键。可以通过设置inputView property

添加自定义键盘

更好的标准做法是在键盘顶部设置一个按钮,让用户可以选择隐藏它。这可以通过为inputAccessoryView分配UITextView来完成。更多here

答案 1 :(得分:1)

尝试使用ToolBar

override func viewDidAppear(animated: Bool) {

    ...


    var toolBar = UIToolbar()
    toolBar.barStyle = UIBarStyle.Default
    toolBar.translucent = true
    toolBar.tintColor = UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1)

    var nextButton = UIBarButtonItem(title: "Next", style: UIBarButtonItemStyle.Done, target: self, action: "nextTextfield")
    var previousButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "previousTextfield")
    var spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
    toolBar.setItems([previousButton, spaceButton, nextButton], animated: false)
    toolBar.userInteractionEnabled = true
    toolBar.sizeToFit()

    textField.delegate = self
    textField.inputAccessoryView = toolBar
}

func nextTextfield() {
    nextTextField.resignFirstResponder()
}

func previousTextfield() {
   //if exist previous        
   //previousTextField.resignFirstResponder()
}

答案 2 :(得分:1)

试试这个

self.view!.endEditing(true)

答案 3 :(得分:0)

您可以在键盘上添加完成的工具栏。完成该操作后,您可以重新设置键盘

答案 4 :(得分:0)

使用适用于Swift和Objective C的IQKeboardManager类。

对于下面写的swift代码可以帮到你。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
{
    // Override point for customization after application launch.

    IQKeyboardManager.sharedManager().enable = true
}

以下链接可以帮助您。

https://github.com/hackiftekhar/IQKeyboardManager