我有一个表视图,并希望一个部分的标题有一个右对齐按钮。理想情况下,我可以将按钮添加到UITableViewHeaderFooterView
,以便获得其标题字体类型,大小和颜色。在我的tableView(tableView: UITableView, viewForHeaderInSection section: Int)
我尝试创建UIButton
并将其添加到UITableViewHeaderFooterView
的子视图和内容视图中,但它没有出现。有什么建议吗?
答案 0 :(得分:0)
尝试这对我来说就像一个魅力,
我在willDisplayHeaderView委托方法中添加了 UIButton ,
1)添加按钮
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
{
UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view;
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[header addSubview:button];
[button setFrame:CGRectMake(200, -10, 300, 44)];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[button.titleLabel setFont:[UIFont fontWithName:@"Helvetica" size:35]];
[button setTitle:@"Add" forState:UIControlStateNormal];
[button addTarget:self action:@selector(addbuttonclicked) forControlEvents:UIControlEventTouchUpInside]; }
2)添加按钮操作
-(void)addbuttonclicked
{
//Add code
}
希望这对某些人有帮助。
答案 1 :(得分:0)
使用Swift4。
这将使用willDisplayHeaderView委托方法将UIButton放置在第一部分的右下角。
override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
for subview in view.subviews {
if subview is UIButton {
subview.removeFromSuperview()
}
}
if section==0 {
let button = UIButton(type: UIButtonType.system)
button.setTitle("Button title", for: .normal)
button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
button.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(button)
let margins = view.layoutMarginsGuide
button.trailingAnchor.constraint(equalTo: margins.trailingAnchor, constant: 0).isActive = true
button.bottomAnchor.constraint(equalTo: margins.bottomAnchor, constant: 0).isActive = true
}
}
@objc func buttonAction(sender: UIButton!) {
print("Button tapped")
}