iOS在UITableViewHeaderFooterView右侧添加按钮
Posted
技术标签:
【中文标题】iOS在UITableViewHeaderFooterView右侧添加按钮【英文标题】:iOS add button to right side of UITableViewHeaderFooterView 【发布时间】:2016-04-16 20:13:07 【问题描述】:我有一个表格视图,希望一个部分的标题有一个右对齐按钮。理想情况下,我可以将按钮添加到UITableViewHeaderFooterView
,以便获取其标题字体类型、大小和颜色。在我的tableView(tableView: UITableView, viewForHeaderInSection section: Int)
中,我尝试创建一个UIButton
并将其添加到UITableViewHeaderFooterView
的子视图和内容视图中,但它没有出现。有什么建议吗?
【问题讨论】:
【参考方案1】:使用 Swift 4。
这会使用 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")
【讨论】:
【参考方案2】:试试这个它对我来说就像一个魅力,
我在 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
希望这对某些人有所帮助。
【讨论】:
以上是关于iOS在UITableViewHeaderFooterView右侧添加按钮的主要内容,如果未能解决你的问题,请参考以下文章
iOS 纵横比约束在 iOS 7 上中断,适用于 iOS 8