UITableViewRowAction 在 Swift 中自定义标题字体大小

Posted

技术标签:

【中文标题】UITableViewRowAction 在 Swift 中自定义标题字体大小【英文标题】:UITableViewRowAction customise title font size in Swift 【发布时间】:2016-05-13 04:38:10 【问题描述】:

我的 tableViewCell 中有一个编辑和删除 tableViewRowAction。目前我正在使用内置的表情符号作为我的标题,但它太小了。如何让字体变大?

我知道我们只能在 tableViewRowAction 中自定义有限数量的东西。但是有没有办法让标题字体变大?

我检查了其他线程,其中大部分都使用了:

UIButton.appearance().setAttributedTitle(NSAttributedString(string: "Your Button", attributes: attributes), forState: .Normal)

当然具有确定字体大小的 set 属性。但是,这会影响所有按钮,这并不好。

非常感谢任何帮助!谢谢!

【问题讨论】:

【参考方案1】:

您将其设置为 UIButton,因此它是为所有 UIButton 对象设置的。

您可以为特定的按钮对象设置它,例如,

  let myButton: UIButton = UIButton()  //your button here
  let attributedStr: NSAttributedString = NSAttributedString()
  myButton.setAttributedTitle(attributedStr, forState: .Normal)

更新:

您可以将标题设置为属性字符串。

查看Apple documentation 并参考this answer 了解更多详情

希望这会有所帮助:)

【讨论】:

您好,感谢您的回复。 (: 但是,UITableViewRowAction 不是 UIButton 类型。所以我不能使用 UIButton 路由来设置标题大小。 谢谢!我了解,但是如何将 String 类型的标题设置为 NSAttributedString?它给了我一个错误。这是我的代码:let attributes = [NSFontAttributeName: UIFont.systemFontOfSize(20)] as Dictionary! let attributedStringRemove = NSAttributedString(string: "✖︎", attributes: attributes),然后在此处将属性字符串添加到标题中:let removeAction = UITableViewRowAction(style: .Default, title: attributedStringRemove) 不客气!!是的,这意味着您必须使用默认字体大小。如果不允许设置属性文本,则不能隐式更改标题。我建议你使用deleteremove这样的文字,而不是x,这样效果会更大。

以上是关于UITableViewRowAction 在 Swift 中自定义标题字体大小的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewRowAction 行为不可预测

iOS 11 中的 UITableViewRowAction 太宽

如何在 UITableViewRowAction 中添加图像?

如何在 Objective-C 的 UITableView 中使 UITableViewRowAction 完全透明

UITableViewRowAction 可访问性值

UITableViewRowAction 的图标在 iOS 13 上显示,但在 iOS 12 上不显示