2016-02-17 100 views
1

我使用的UITextView在迅速和键盘消失我使用的UITextView委托方法消失键盘的UITextView

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

,但我不希望使用此委托方法返回键盘BCZ我想为下一行使用返回键。 有没有其他方法可以消失键盘? 由于某种原因,我不使用触摸事件。

+0

您正在键盘外添加手势来解除它。 –

+0

我用过,但由于某些原因我不wana使用手势。因为当我使用手势时会禁用某些功能。 – Sahil

+0

请删除“返回false”并尝试。 –

回答

2

你不能同时拥有一个回报,键盘上的按键解雇,除非您使用自定义键盘添加做过工具条。自定义键盘可以通过设置inputViewproperty

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

0

您可以在keyboard.On该做,你可以辞职,你的键盘动作

+0

我也在想添加工具栏。但是不可能在键盘上添加返回键和下一行? – Sahil

+1

一次只能使用键盘上的一个键,其他方面则必须使用custome键盘(第三方键盘)。 。 。在我看来使用完成的工具栏。 。这十分完美。 –

1

尝试使用工具栏

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() 
} 
1

试试这个

self.view!.endEditing(true) 
0

同时适用于斯威夫特和客观C.

使用IQKeboardManager类写在下面将帮助你快速的代码。

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