我知道如何提供自定义UITableview标头以及如何对其进行自定义。但是我在将UITableview与SectionTitles结合使用时遇到了麻烦。
如何更改UITableview标头的背景颜色以及如何更改UITableview标头的文本颜色。
答案 0 :(得分:1)
您可以使用以下方法为标题创建customView: 我创建了一个示例视图供您自定义。
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView = UIView()
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.textColor = UIColor.white
label.numberOfLines = 0
label.textAlignment = .center
label.font = .boldSystemFont(ofSize: 20)
headerView.addSubview (questionLabel)
headerView.backgroundColor = .blue
NSLayoutConstraint.activate([
questionLabel.centerYAnchor.constraint(equalTo: headerView.centerYAnchor, constant: 0),
questionLabel.leadingAnchor.constraint(equalTo: headerView.leadingAnchor, constant: 0),
questionLabel.trailingAnchor.constraint(equalTo: headerView.trailingAnchor, constant: 0)
])
return headerView
}
答案 1 :(得分:0)
我找到了解决方案。 UITableViewDelegate的此方法可用于自定义默认的节标题。
//Meyer's singleton
class MySingleton{
public:
static MySingleton& getInstance(){
static MySingleton instance;
// volatile int dummy{};
return instance;
}
private:
MySingleton()= default;
~MySingleton()= default;
MySingleton(const MySingleton&)= delete;
MySingleton& operator=(const MySingleton&)= delete;
};
//with call_once
class MySingleton{
public:
static MySingleton& getInstance(){
std::call_once(initInstanceFlag, &MySingleton::initSingleton);
// volatile int dummy{};
return *instance;
}
private:
MySingleton()= default;
~MySingleton()= default;
MySingleton(const MySingleton&)= delete;
MySingleton& operator=(const MySingleton&)= delete;
static MySingleton* instance;
static std::once_flag initInstanceFlag;
static void initSingleton(){
instance= new MySingleton;
}
};
MySingleton* MySingleton::instance= nullptr;
std::once_flag MySingleton::initInstanceFlag;