我有一个以前工作的应用程序,您可以在其中添加食物项目
出于某种原因,UITextField停止接受输入 - 除了这个UITextField之外,其他一切都有效。
我已经尝试了.showasfirstresponder()方法,它仍然没有解决问题 - 现在添加食物按钮停止工作。
由于我的应用程序在某个时刻工作,这似乎很棘手但很小。
这是我的相关代码 -
ViewController -
class ViewController: UIViewController, UITableViewDataSource,
UITableViewDelegate,
UITextFieldDelegate{
// instance vars
@IBOutlet weak var addFoodsTextField: UITextField!
@IBOutlet weak var tableView: UITableView!
var foods:[String] = []
var cellStyleForEditing: UITableViewCellEditingStyle = .none
let defaults = UserDefaults.standard
override func viewDidLoad() {
super.viewDidLoad()
// nsuserdefaults setUp
foods = defaults.stringArray(forKey: "foods") ?? [String]()
setUpTableView()
//addFoodsTextField.becomeFirstResponder()
}
func setUpTableView() {
let containerView:UIView = UIView(frame:tableView.bounds)
containerView.backgroundColor = UIColor.clear
containerView.layer.shadowOffset = CGSize(width: 5.0, height: 5.0)
containerView.layer.shadowOpacity = 0.5
containerView.layer.shadowRadius = 5
let nibName = UINib(nibName: "TableViewCell", bundle: nil)
tableView.register(nibName, forCellReuseIdentifier: "tableViewCell")
tableView.dataSource = self
tableView.delegate = self
tableView.tableFooterView = UIView(frame: CGRect.zero)
tableView.separatorStyle = .none
tableView.showsVerticalScrollIndicator = false
tableView.layer.cornerRadius = 10
tableView.layer.masksToBounds = true
view.addSubview(containerView)
containerView.addSubview(tableView)
}
@IBAction func addButtonTapped(_ sender: Any) {
insertNewFoodTitle()
}
func insertNewFoodTitle() {
foods.append(addFoodsTextField.text!)
let indexPath = IndexPath(row: foods.count - 1, section: 0)
tableView.beginUpdates()
tableView.insertRows(at: [indexPath], with: .automatic)
defaults.set(foods, forKey: "foods")
tableView.endUpdates()
// set textFeild back to empty string
addFoodsTextField.text = ""
view.endEditing(true)
}
}
在遇到这个bug之前大约30分钟。我能够添加一些食品,但现在我不能
答案 0 :(得分:0)
textfield.inputAssistantItem.leadingBarButtonGroups = []
textfield.inputAssistantItem.trailingBarButtonGroups = []
以这种方式设置BarButtonGroup就可以了。
答案 1 :(得分:0)
我弄明白是什么!
容器视图阻止了我的互动。
不确定当前的工作是什么,但会弄清楚!