无法将 UIButton 添加到 tableView 部分
Posted
技术标签:
【中文标题】无法将 UIButton 添加到 tableView 部分【英文标题】:cannot add UIButton to tableView section 【发布时间】:2019-09-07 18:15:20 【问题描述】:我有这个代码
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
let headerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 45))
headerView.backgroundColor = UIColor.white
let label = UILabel(frame: CGRect(x: 0, y: 12.5, width: tableView.frame.width - 100, height: 20))
label.numberOfLines = 0
label.font = UIFont(name: "SFProDisplay-Bold", size: 18);
label.textColor = UIColor.darkGray
let sectionName: String
switch section
case 0:
sectionName = NSLocalizedString(" Featured", comment: "featured")
case 1:
sectionName = NSLocalizedString(" Trending", comment: "trending")
// ...
default:
sectionName = NSLocalizedString(" New", comment: "new")
label.text = sectionName
label.adjustsFontForContentSizeCategory = true
headerView.addSubview(label)
let button:UIButton = UIButton(
frame: CGRect(x: tableView.bounds.size.width-100,
y: 12.5,
width: 100,
height: 20))
button.setTitle("More", for: .normal)
button.titleLabel?.textColor = UIColor.black
button.backgroundColor = UIColor.white
// button.addTarget(self, action: #selector(btnShowHideTapped), for: .touchUpInside)
button.titleLabel?.textColor = UIColor.black
headerView.addSubview(button)
return headerView
我正在尝试将 UIButton 添加到 tableView 标头,但它不起作用。有谁知道为什么?
UIButton 没有显示标签显示的原因。
【问题讨论】:
定义“不工作”。请edit您的问题提供有关此代码究竟以何种方式没有达到您期望的具体细节。不要在评论中回复。 该按钮是否存在但处于非活动状态或者甚至不可见? 工作正常。我给按钮一个绿色背景,它清楚地显示在模拟器中。我启用了目标选择器,它也可以工作。我已经投票关闭。 @BartvanKuik 按钮文字颜色怎么样? 【参考方案1】:这行不行:
button.titleLabel?.textColor = UIColor.black
将其替换为以下行:
button.setTitleColor(.black, for: .normal)
【讨论】:
以上是关于无法将 UIButton 添加到 tableView 部分的主要内容,如果未能解决你的问题,请参考以下文章
将 UIView 作为子视图添加到 UIButton 并将其置于前面无法正常工作
将按钮超级视图控制器添加到另一个视图控制器时,UIButton 目标无法识别
如何将 UIButton 添加到 Swift Playground?