我正在嘗試向文本字段添加一個「完成」按鈕。「完成」UIBarButtonItem不顯示在數字鍵盤上(Swift)
顯示黑色UIToolbar 爲,但「完成」按鈕不是。
在屬性檢查器中,'返回鍵'被設置爲'完成'並且'自動啓用返回鍵'被啓用。
的UITextField連接到委託
這是一個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
}
}
您創建了'items',但您從未將這些項目添加到'doneToolbar'。 – matt