2015-12-14 7 views
8

मैं Done बटन को टेक्स्टव्यू के लिए आईओएस में दाईं ओर कीबोर्ड के शीर्ष पर बटन जोड़ना चाहता हूं। कृपया मुझे बताएं कि मैं यह कैसे कर सकता हूं?आईओएस में कीबोर्ड के शीर्ष पर कीबोर्ड पर किए गए बटन को कैसे जोड़ा जाए?

छवि यहाँ

enter image description here

मैं जोड़ने के कीबोर्ड के ऊपर

+0

आप UIToolbar उपयोग कर सकते हैं! – Jaimish

+0

कस्टम दृश्य बनाएं, फिर इसे अपने 'कीबोर्डऑनस्क्रीन' अधिसूचना विधि में दिखाएं ... यह कीबोर्ड की ऊंचाई के साथ आता है, इसलिए आपको पता है कि बार कहां रखना है – Tj3n

+0

टूलबार – Techiee

उत्तर

14

आशा इस मदद :)

UIToolbar* keyboardToolbar = [[UIToolbar alloc] init]; 
[keyboardToolbar sizeToFit]; 
UIBarButtonItem *flexBarButton = [[UIBarButtonItem alloc] 
            initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
            target:nil action:nil]; 
UIBarButtonItem *doneBarButton = [[UIBarButtonItem alloc] 
            initWithBarButtonSystemItem:UIBarButtonSystemItemDone 
            target:self action:@selector(yourTextViewDoneButtonPressed)]; 
keyboardToolbar.items = @[flexBarButton, doneBarButton]; 
self.yourTextView.inputAccessoryView = keyboardToolbar; 

और उसके बाद ही कुछ हासिल करना चाहते हैं विवरण yourTextViewDoneButtonPressed विधि दर्ज

-(void)yourTextViewDoneButtonPressed 
{ 
    [self.yourTextView resignFirstResponder]; 
} 
+0

के साथ कैसे उपयोग करें कीबोर्ड कैसे छुपाएं? – Techiee

+0

@ दीपककुमार आपका क्या मतलब है? यदि आप कीबोर्ड को छिपाना चाहते हैं, तो बस एक विधि [self.yourTextView resignFirstResponder] को कॉल करें; –

+0

यदि कीबोर्ड छुपा हुआ है तो टूलबार छुपा नहीं है। कृपया बताएं कि कैसे करें? – Techiee

17

स्विफ्ट 3:

func setDoneOnKeyboard() { 
    let keyboardToolbar = UIToolbar() 
    keyboardToolbar.sizeToFit() 
    let flexBarButton = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) 
    let doneBarButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(InsertStatusVC.dismissKeyboard)) 
    keyboardToolbar.items = [flexBarButton, doneBarButton] 
    self.fullNameTextField.inputAccessoryView = keyboardToolbar 
} 

@objc func dismissKeyboard() { 
    view.endEditing(true) 
} 
11

यह स्टोरीबोर्ड का उपयोग किया जा सकता है:

  1. UIViewController देखने के लिए UITextField जोड़ें।
  2. UIViewController
  3. के पहले स्तर में UIToolbar जोड़ें UIToolbar में UIBarButtonItem जोड़ें।
  4. आईबीओलेट का उपयोग कर कोड में UItoolbar कनेक्ट करें।
  5. IBAction (जैसा कि किया गया था) का उपयोग कर कोड में UIBarButtonItem कनेक्ट करें।
  6. UITextField UIViewController को प्रतिनिधि बना देगा।
  7. didClick समारोह अंत संपादन (view.endEditing (सही)) प्रतिनिधि समारोह textFieldShouldBeginEditing में
  8. में होना चाहिए: textField.inputAccessoryView = उपकरण पट्टी और रिटर्न सच

enter image description here

+0

यह बहुत अच्छा है हालांकि मैं UITextView के लिए इसका प्रयास कर रहा हूं? क्या अलग होना चाहिए। मैंने जो सोचा था, मैंने संपादित किया लेकिन प्राप्त करें UIButtonBarItem के प्रकार को असाइन नहीं कर सकता! UIView – adamprocter

+1

@adamprocter टाइप करने के लिए आपको textView.inputAccessoryView पर टूलबार असाइन करना चाहिए, लेकिन UIButtonBarItem नहीं। – Ramis

0

Ramis से जवाब कुंजीपटल गौण दृश्य स्टोरीबोर्ड का उपयोग कर बनाए जा सकते हैं कि एक महान रणनीति है। यह सब के बाद 2017 है! (क्षमा करें, लेकिन मेरे पास आपको ऊपर उठाने के लिए पर्याप्त अंक नहीं हैं।)

मुझे उत्तर में थोड़ा जोड़ने दें (एसओ नियमों के भीतर रखने के लिए)। मेरे पास एकाधिक टेक्स्ट फ़ील्ड के साथ एक दृश्य है। Ramis 'चरणों में से प्रत्येक को लागू करने के बाद मैं इस तरह से टेक्स्ट फ़ील्ड के सभी के लिए accessoryView संलग्न:

-(void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
_activeTextField = textField; 
[_activeTextField setInputAccessoryView:_iboKeyboardTools]; 
} 

तो कोड में यह सब लागू करने के साथ तुलना में आसान! स्टोरीबोर्ड में बस एक्सेसरी व्यू बनाएं- और इसे बार-बार संलग्न करें!

1

यूआईटीयूएलबार को कस्टम व्यू के रूप में जोड़ें जिसमें UIBarButtonItem इसमें पूर्ण बटन होगा।

यह किसी भी प्रकार के कीबोर्ड पर पूर्ण बटन जोड़ने के लिए सुरक्षित और क्लीनर तरीका है। UIToolBar को पूर्ण बटन जोड़ें और किसी भी UITextField या UITextView के inputAccessoryView को सेट करें। ]; }

स्विफ्ट 3

var ViewForDoneButtonOnKeyboard = UIToolbar() 
ViewForDoneButtonOnKeyboard.sizeToFit() 
var btnDoneOnKeyboard = UIBarButtonItem(title: "Done", style: .bordered, target: self, action: #selector(self.doneBtnFromKeyboardClicked)) 
ViewForDoneButtonOnKeyboard.items = [btnDoneOnKeyboard] 
myTextField.inputAccessoryView = ViewForDoneButtonOnKeyboard 

समारोह

@IBAction func doneBtnfromKeyboardClicked (sender: Any) { 
    print("Done Button Clicked.") 
    //Hide Keyboard by endEditing or Anything you want. 
    self.view.endEditing(true) 
    } 
संबंधित मुद्दे