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
}
}
Vous avez créé 'items' mais vous n'avez jamais ajouté ces éléments à' doneToolbar'. – matt