Swift 有没有办法在iOS11中指定UIContextualAction的宽度?
在UITableViewRowAction中,可以通过更改标题和添加空格来操纵操作的宽度。您使用的空间越多,您的操作在行中所占的区域就越大 使用新的UIContextualAction,在标题中添加空格没有任何作用。操作系统决定动作的确切空间大小。我需要展示5个不同的动作选项,在较小的设备上,我再也不能适应5个。有人知道控制视图中每个区域大小的方法吗Swift 有没有办法在iOS11中指定UIContextualAction的宽度?,swift,uitableview,ios11,Swift,Uitableview,Ios11,在UITableViewRowAction中,可以通过更改标题和添加空格来操纵操作的宽度。您使用的空间越多,您的操作在行中所占的区域就越大 使用新的UIContextualAction,在标题中添加空格没有任何作用。操作系统决定动作的确切空间大小。我需要展示5个不同的动作选项,在较小的设备上,我再也不能适应5个。有人知道控制视图中每个区域大小的方法吗 func setupAction(_ indexVar: Int) -> UIContextualAction { let edit
func setupAction(_ indexVar: Int) -> UIContextualAction {
let editAction = UIContextualAction(style: .normal, title: " ", handler: { (ac:UIContextualAction, view:UIView, success:(Bool) -> Void) in
//do something
success(true)
})
editAction.image = UIImage(named: "TestImage")
editAction.backgroundColor = .red
return editAction
}
tldr:使用任何现有的框架,或者现在就创建自己的框架 我已经在iOS 11上处理这个问题好几天了。我能得到的最好结果是通过编程在图像底部添加透明空间,这样它就可以填充整行的高度。通过此操作,并将clipsToBounds设置到单元格,标题位于单元格视图之外,不可见,我可以使用任何字符来增加操作按钮的宽度,例如“XXXXX”字符串 但在某些情况下,即使我设置了剪贴簿,标题仍然可见。为了最小化它的可见性,我在边缘设置了空格和点,比如“(空格)(空格)(空格)。”
最后,由于标题(由点和空格组成)仍然可见,我最终在tableViewCell中创建了自己的操作按钮。在iOS11中,tableViewCell滑动似乎只接受特定大小的图像或文本 另一个选项(我不推荐)是向tableview添加手势 或向tableviewcell添加手势;与之类似,首先在自定义单元格中创建一个视图,然后将PangestureRecognitor应用于单元格中的该视图。将所需的按钮添加到自定义单元格中,当您在自定义单元格中滑动视图时,自定义单元格中的按钮应可见