访问每个 header 和 swift 中的表视图中的控件
Access each header and controls in the tableview in swift
我有一个 UITableView
和自定义 header。在那 header 我有一个带有图像的按钮。
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let cView = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, 40))
itemNumBtn = UIButton(frame: CGRectMake(0, 0, 70, 42))
itemNumBtn.setBackgroundImage(UIImage(named: "hide.png"), forState: .Normal)
cView.addSubview(itemNumBtn)
return cView
}
我有五个 header 部分。
在单独的函数中如何获取每个按钮的图像,需要访问每个按钮
例如:
fun getHeader() {
// how to access each header and buttons
var eachBtn = each button in the header
var image = all the images of all header section
}
提前致谢
为了从 header
获得 button
和 image
,您可以为 header
实施自定义的 UIView
,例如
class HeaderView: UIView {
var button: UIButton
var image: UIImage
func init() {
...
}
}
并且 return 这个 HeaderView
在你的 tableView(tableView: UITableView, viewForHeaderInSection section: Int)
回调中。
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return HeaderView()
}
然后使用 tableView.headerViewForSection(section:)
获得 5 个自定义 headers 视图。
func getHeaders() {
for index in 1...5 {
let header = tableView.headerViewForSection(section: index) as! HeaderView
let button = header.button
let image = header.image
}
}
我有一个 UITableView
和自定义 header。在那 header 我有一个带有图像的按钮。
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let cView = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, 40))
itemNumBtn = UIButton(frame: CGRectMake(0, 0, 70, 42))
itemNumBtn.setBackgroundImage(UIImage(named: "hide.png"), forState: .Normal)
cView.addSubview(itemNumBtn)
return cView
}
我有五个 header 部分。
在单独的函数中如何获取每个按钮的图像,需要访问每个按钮
例如:
fun getHeader() {
// how to access each header and buttons
var eachBtn = each button in the header
var image = all the images of all header section
}
提前致谢
为了从 header
获得 button
和 image
,您可以为 header
实施自定义的 UIView
,例如
class HeaderView: UIView {
var button: UIButton
var image: UIImage
func init() {
...
}
}
并且 return 这个 HeaderView
在你的 tableView(tableView: UITableView, viewForHeaderInSection section: Int)
回调中。
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return HeaderView()
}
然后使用 tableView.headerViewForSection(section:)
获得 5 个自定义 headers 视图。
func getHeaders() {
for index in 1...5 {
let header = tableView.headerViewForSection(section: index) as! HeaderView
let button = header.button
let image = header.image
}
}