2016-08-19 2 views
-3

J'essaie d'ajouter un bouton "Terminé" à un champ de texte."Terminé" UIBarButtonItem ne s'affiche pas sur le pavé numérique (Swift)

L'UIToolbar noir est l'affichage, mais le bouton "Terminé" ne l'est pas.

Dans l'inspecteur d'attributs, 'Return key' est réglé sur 'Done' et 'Auto-enable Return Key' est activé.

Le UITextField est connecté au délégué

Ceci est dans un UITableViewCell:

import UIKit 

class itemTableViewCell: UITableViewCell, UITextFieldDelegate { 

@IBOutlet var itemName: UILabel! 
@IBOutlet var itemInput: UITextField! 

var textFieldIsBeingEdited: Bool = false 
override func awakeFromNib() { 
    super.awakeFromNib() 

    itemInput.delegate = self 

    self.addDoneButtonToKeyboard() 
} 

override func setSelected(selected: Bool, animated: Bool) { 
    super.setSelected(selected, animated: animated) 

    // Configure the view for the selected state 
} 


func addDoneButtonToKeyboard(){ 
    let doneToolbar: UIToolbar = UIToolbar(frame: CGRectMake(0, 0, 320, 50)) 
    doneToolbar.barStyle = UIBarStyle.BlackTranslucent 

    let flexSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil) 
    let done: UIBarButtonItem = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Done, target: itemInput, action: Selector("doneButtonAction")) 

    let items = NSMutableArray() 
    items.addObject(flexSpace) 
    items.addObject(done) 

    doneToolbar.sizeToFit() 

    itemInput.inputAccessoryView = doneToolbar 
} 


func doneButtonAction() 
{ 
    self.itemInput.resignFirstResponder() 
} 

func textFieldShouldReturn(textField: UITextField!) -> Bool { 
    textField.resignFirstResponder() 
    return true 
} 
} 
+1

Vous avez créé 'items' mais vous n'avez jamais ajouté ces éléments à' doneToolbar'. – matt

Répondre

0

vous oubliez d'ajouter le items à votre let doneToolbar: UIToolbar

doneToolbar.items = items as [AnyObject] 

réponse brève

items.addObject(flexSpace) 
items.addObject(done) 
doneToolbar.items = items as [AnyObject] 
doneToolbar.sizeToFit() 
itemInput.inputAccessoryView = doneToolbar 
+0

Ah oui. Je vous remercie. J'ai dû changer pour doneToolbar.items = articles en tant que? [UIBarButtonItem] –

+0

@ T.Mee - Bienvenue à mon frère, si les œuvres acceptent la réponse –