当我尝试将 "Font" 应用于一个 tableview 单元格时,它会在滚动 tableview 时自动应用于其他单元格
When i try to apply "Font" to one tableview cell it automatically apply to other cells when scroll tableview
我有一个自定义表格视图。
我需要将粗体斜体 (Helvetica-BoldOblique) 字体设置为仅 cell.But 当它滚动表格视图时它也适用于其他单元格 one.How 来解决这个问题?
func applyFontToTableviewCell() {
var couIn = NSIndexPath(forRow: 2, inSection: 0)
var couCell = colorTableView.cellForRowAtIndexPath(couIn)
couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
我在 cellForRowAtIndexPath 中尝试了同样的代码 also.But 出现了同样的问题。
提前致谢。
你必须通过 if 条件来检查:
if (NSIndexPath(forRow: 2, inSection: 0)){
couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
else{
//set your default font
couCell?.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
}
如果你想检查奇数和偶数那么
if yourindexpath % 2 == 0 {
}
所以,可能会像
if (NSIndexPath(forRow: indexPath.row % 2, inSection: 0)){
couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
else{
//set your default font
couCell?.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
}
您可以按照下面的方式在替代单元格上应用粗体。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let couCell = tableView.dequeueReusableCellWithIdentifier(textCellIdentifier, forIndexPath: indexPath) as UITableViewCell
let row = indexPath.row
if row == 2 || row == 4 || row == 6 {
couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
else{
couCell?.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
}
return cell
}
希望对您有所帮助。
我有同样的问题,通过在 willDisplayCell
方法
中应用字体修复
override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
let row = indexPath.row
if row == 2 || row == 4 || row == 6 {
cell.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
else{
cell.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
}
}
我有一个自定义表格视图。
我需要将粗体斜体 (Helvetica-BoldOblique) 字体设置为仅 cell.But 当它滚动表格视图时它也适用于其他单元格 one.How 来解决这个问题?
func applyFontToTableviewCell() {
var couIn = NSIndexPath(forRow: 2, inSection: 0)
var couCell = colorTableView.cellForRowAtIndexPath(couIn)
couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
我在 cellForRowAtIndexPath 中尝试了同样的代码 also.But 出现了同样的问题。
提前致谢。
你必须通过 if 条件来检查:
if (NSIndexPath(forRow: 2, inSection: 0)){
couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
else{
//set your default font
couCell?.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
}
如果你想检查奇数和偶数那么
if yourindexpath % 2 == 0 {
}
所以,可能会像
if (NSIndexPath(forRow: indexPath.row % 2, inSection: 0)){
couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
else{
//set your default font
couCell?.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
}
您可以按照下面的方式在替代单元格上应用粗体。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let couCell = tableView.dequeueReusableCellWithIdentifier(textCellIdentifier, forIndexPath: indexPath) as UITableViewCell
let row = indexPath.row
if row == 2 || row == 4 || row == 6 {
couCell?.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
else{
couCell?.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
}
return cell
}
希望对您有所帮助。
我有同样的问题,通过在 willDisplayCell
方法
override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
let row = indexPath.row
if row == 2 || row == 4 || row == 6 {
cell.textLabel?.font = UIFont(name: "Helvetica-BoldOblique", size: 18.0)
}
else{
cell.textLabel?.font = UIFont(name: "Helvetica", size: 18.0)
}
}