设置 UIContextualAction 大小

Posted

技术标签:

【中文标题】设置 UIContextualAction 大小【英文标题】:Setting up UIContextualAction size 【发布时间】:2018-02-07 20:30:23 【问题描述】:

我想知道是否可以设置UIContextualAction 大小(宽度和高度)。

我在UIContextualAction 中没有找到任何允许我这样做的成员,所以我想知道是否有一个临时的方法可以这样做?

action.image = UIGraphicsImageRenderer(size:CGSize(width: 35, height: 35  )).image  _ in
    UIImage(named:"Delete")?.draw(in: CGRect(x:  0, y: 0, width: 35, height: 35))


action.backgroundColor = UIColor.red
return action

更新

我找到了这篇文章,背后的想法是使用自定义按钮并使用 UIGesture

https://www.raywenderlich.com/62435/make-swipeable-table-view-cell-actions-without-going-nuts-scroll-views

【问题讨论】:

@matt 实际上让我想到的是:在我的 tableview 中,我使用透明颜色的 uiview 设置行之间的间距,当我向左滑动时, uicontextaction 取行的整个高度希望种类在这种情况下很难看 我误解了 q.,对不起!如果你使用图像,你可以调整它的大小,我认为 你可以调整图像的大小,但它不能解决 pb cz bakground 会占用孔的高度 【参考方案1】:

您可以使用此语法为UIContextualAction 设置宽度和高度:

let contextAction = UIContextualAction(style: .normal, title: "", handler:  
        (param: (Bool) -> Void) in param(true)
)  

contextAction.image = UIGraphicsImageRenderer(size: CGSize(160, 90)).image  
    _ in UIImage(named: "someObject")!.draw(in: CGRect(40, 10, 200, 100))


contextAction.backgroundColor = .green

【讨论】:

谢谢,我试过这段代码,但是 pb 如果你设置一个像红色这样的颜色背景,它就不起作用 我用屏幕截图和我使用的代码更新帖子,你可以看到红色背景工具孔行高度。或者我只想要白色区域。

以上是关于设置 UIContextualAction 大小的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UITableview DataSource 方法中的 UIContextualAction 中添加图像

UIContextualAction 触发 setEditing = true,如何禁用?

C语言比较字符串大小

C/C++stackoverflow怎样设置stack大小

初始化后在c ++上设置数组大小[重复]

c_cpp 以给定大小的组反转链接列表设置2