Ios 快速下拉插入形式
我迷路了 我有一个TableViewController,它是从集合中以编程方式填充的。当tableView被下拉时,我需要显示一个表单。现在我有一个InsertControl,它包含两个文本字段。 插入控制 然后我发现我可以把这个控件放在tableView头中,所以我的 tableViewController 问题是我需要给InsertControl构造函数一个我没有的NSCoder 在我设法在标题中获取表单之后,如何将进一步的向下滑动传递到控件并使其将内容添加到tableView集合Ios 快速下拉插入形式,ios,swift,Ios,Swift,我迷路了 我有一个TableViewController,它是从集合中以编程方式填充的。当tableView被下拉时,我需要显示一个表单。现在我有一个InsertControl,它包含两个文本字段。 插入控制 然后我发现我可以把这个控件放在tableView头中,所以我的 tableViewController 问题是我需要给InsertControl构造函数一个我没有的NSCoder 在我设法在标题中获取表单之后,如何将进一步的向下滑动传递到控件并使其将内容添加到tableView集合 我希望
我希望我说得够清楚。要回答你的第一个问题,在
InsertControl
中,使用override init(frame:CGRect)
而不是required init?(coder-aDecoder:NSCoder)
。看起来是这样的:
override init(frame: CGRect) {
super.init(frame: frame)
let nameTextField = UITextField(frame: CGRect(x: 0, y: 0, width: 260, height: 44))
nameTextField.backgroundColor = UIColor.redColor()
let quantityTextField = UITextField(frame: CGRect(x: 270, y: 0, width: 60, height: 44))
quantityTextField.backgroundColor = UIColor.redColor()
addSubview(nameTextField)
addSubview(quantityTextField)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func intrinsicContentSize() -> CGSize {
return CGSize(width: 350, height: 44)
}
你能澄清最后一句话吗?填写完名称和数量文本字段后,您所指的“滑动”是什么?我想再次下拉以插入文本。像表格一样提交。但这是次要的。我想先让控制显示出来谢谢你,好的。但是当我在表中插入控件时,它覆盖了第一个单元格的一部分,而不是在它上面。
let insertControl = InsertControl()
self.tableView.tableHeaderView = insertControl
self.tableView.contentOffset = CGPoint(x: 0, y: 44)
override init(frame: CGRect) {
super.init(frame: frame)
let nameTextField = UITextField(frame: CGRect(x: 0, y: 0, width: 260, height: 44))
nameTextField.backgroundColor = UIColor.redColor()
let quantityTextField = UITextField(frame: CGRect(x: 270, y: 0, width: 60, height: 44))
quantityTextField.backgroundColor = UIColor.redColor()
addSubview(nameTextField)
addSubview(quantityTextField)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func intrinsicContentSize() -> CGSize {
return CGSize(width: 350, height: 44)
}