您如何以编程方式确保 tableView-HeaderView-TextField 的光标处于活动状态(即是第一响应者)?
我的表看起来像这样(即带有自定义 TextField 标题)。到目前为止,光标只能通过在文本字段内单击而进入灰色标题字段。但我希望能够以编程方式将光标移到文本字段中......
我的自定义 tableview-header 的代码如下所示:
// drawing a custom Header-View with a TextField on top of the tableView
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let container = UIView(frame: CGRectMake(0, 0, self.view.frame.size.width, 50))
let textField = UITextField(frame: CGRectMake(10, 15, self.view.frame.size.width/2 - 40, 45))
textField.delegate = self
self.txtfield = textField
textField.textColor = UIColor.blackColor()
let placeholder = NSAttributedString(string: "..add player", attributes: [NSForegroundColorAttributeName: UIColor.darkGrayColor()])
textField.attributedPlaceholder = placeholder
textField.backgroundColor = UIColor.lightGrayColor()
container.addSubview(textField)
var headPlusBttn:UIButton = UIButton.buttonWithType(UIButtonType.ContactAdd) as! UIButton
headPlusBttn.center.x = self.view.frame.size.width - 20
headPlusBttn.center.y = 38
headPlusBttn.enabled = true
headPlusBttn.addTarget(self, action: "addTeam:", forControlEvents: UIControlEvents.TouchUpInside)
container.addSubview(headPlusBttn)
return container
}
我的第一种方法是像这样设置 headerViewForSection 的第一响应者(参见代码):
// reload entries
func reloadEntries() {
self.tableView.reloadData()
// the following does unfortunately not work !!!!!
self.tableView.headerViewForSection(1)?.becomeFirstResponder()
}
不知道为什么这不起作用。也许,Section-Nr (Int=1) 是错误的。但我尝试了几个部分编号。没有光标在它应该在的地方。
任何帮助表示赞赏!