UIContextualAction不可见标题(UITableView滑动删除 - iOS 11)

Adv*_*ith 2 uitableview ios uitableviewrowaction ios11

我正在使用UIContextualAction滑动来删除功能UITableViewCell.我使用+ (instancetype)contextualActionWithStyle:(UIContextualActionStyle)style title:(nullable NSString *)title handler:(UIContextualActionHandler)handler方法构造UIContextualAction,然后使用setImage:属性将图像设置为它.

但是,当我运行此代码并尝试滑动删除时,只有图像显示在菜单中.标题丢失了.当我注释掉该setImage属性时,会显示标题.为什么会这样?我是否遗漏了实施中的内容,或者这是Apple的错误?

dr_*_*rto 7

UIContextualAction支持任一文本图像.通过设置图像setImage:,您基本上删除了创建对象时设置的标题.如果您需要文本图像,则必须创建包含嵌入文本的图像.

编辑

我的回答是基于我自己的经验,不幸的是,那个特定班级的官方文档根本没有帮助.我还发现,在这个问题上的提示在这里("通过指定的图像,在初始化标题不显示").

在您的评论中,您说如果高度> 91px,则会显示标题和图像.这匹配这个雷达(它说高度应该> = 91px),所以它可能是一个bug.

目前看来,唯一的选择是创建带有嵌入文本的图像,或者将单元格高度增加到91px.

  • 但是我观察到,如果UITableViewCell的高度大于91点,则标题和图像都会显示。 (2认同)
  • 是的,到目前为止,嵌入式文本似乎是最好的解决方案。我现在在我的代码中这样做。感谢您的反馈意见。 (2认同)