如何在表单的 header 中创建自定义视图
How to create a custom view in the header of a form
我想知道是否可以创建如下图所示的内容。
我想我必须创建一个自定义视图,但有关于如何创建的线索吗?
谢谢
如果屏幕上有 UITableView,可以通过创建自定义 table header 视图来实现:
- 创建
UIView
的子类 -> CustomTableHeaderView
在里面添加一个按钮:
class CustomTableHeaderView: UIView {
var rightButton: UIButton
override init(frame: CGRect) {
rightButton = UIButton()
let buttonWidth: CGFloat = 100
// this is hardcoded for cimplicity, it's better to setup auto layout constraints here
rightButton.frame = CGRect(x: 0, y: frame.width - buttonWidth, width: buttonWidth, height: 50)
rightButton.setTitle("My button", forState: .Normal)
// other configuration
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
- 在您的视图控制器(或您初始化 table 视图的任何其他地方,将您的自定义视图设置为
tableHeaderView
:
tableView.tableHeaderView = CustomTableHeaderView(frame: frame:CGRect(x: 0, y: 0, width: view.frame.width, height: 10))
我想知道是否可以创建如下图所示的内容。
我想我必须创建一个自定义视图,但有关于如何创建的线索吗?
谢谢
如果屏幕上有 UITableView,可以通过创建自定义 table header 视图来实现:
- 创建
UIView
的子类 ->CustomTableHeaderView
在里面添加一个按钮:
class CustomTableHeaderView: UIView { var rightButton: UIButton override init(frame: CGRect) { rightButton = UIButton() let buttonWidth: CGFloat = 100 // this is hardcoded for cimplicity, it's better to setup auto layout constraints here rightButton.frame = CGRect(x: 0, y: frame.width - buttonWidth, width: buttonWidth, height: 50) rightButton.setTitle("My button", forState: .Normal) // other configuration super.init(frame: frame) } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") }
}
- 在您的视图控制器(或您初始化 table 视图的任何其他地方,将您的自定义视图设置为
tableHeaderView
:
tableView.tableHeaderView = CustomTableHeaderView(frame: frame:CGRect(x: 0, y: 0, width: view.frame.width, height: 10))
- 在您的视图控制器(或您初始化 table 视图的任何其他地方,将您的自定义视图设置为