如何在UITableViewCell上添加自定义UIView在swift中滑动?

时间:2016-10-18 06:43:53

标签: ios swift uitableview uiswipegesturerecognizer

我想在UITableViewCell Swipe上添加自定义UIView。基本上我想添加两个UIButton,一个在顶部,另一个在它下面。两者都有一半的细胞高度。如果我使用editActionsForRowAtIndexPath UITableView的{​​{1}}委托方法并排添加UIButton,但我想在顶部添加按钮,其高度等于表格视图单元格的一半,而其他正好位于其下方相同的高度。

提前致谢!!!

3 个答案:

答案 0 :(得分:1)

您可以在自定义tableview单元格中添加此代码:

var topBtn = UIButton()
var behindBtn = UIButton()

override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
    super.init(style: style, reuseIdentifier: reuseIdentifier)
    awakeFromNib()
}

override func awakeFromNib() {
    topBtn.setTitle("top", for: .normal)
    topBtn.backgroundColor = UIColor.blue
    addSubview(topBtn)

    behindBtn.setTitle("behind", for: .normal)
    behindBtn.backgroundColor = UIColor.green
    addSubview(behindBtn)
}

override func layoutSubviews() {
    super.layoutSubviews()
    let btnH = self.frame.size.height/2
    let btnW = self.frame.size.width

    topBtn.frame = CGRect(x: 0, y: 0, width: btnW, height: btnH)
    behindBtn.frame = CGRect(x: 0, y: btnH, width: btnW, height: btnH)
}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

这就是结果: enter image description here

答案 1 :(得分:0)

您想要添加一个视图,其中包含两个按钮并显示在滑动事件上?如果我明确得到一个问题,你可以在UITableViewCell上添加这个视图,隐藏它并在滑动事件上设置hidden = NO。您也可以使用UIPanGestureRecognizer并设置视图alpha。或者更改框架,在这种情况下最好设置cell.clipsToBounds = YES

答案 2 :(得分:0)

您可以从实施此方法开始:

editActionsForRowAtIndexPath

然后,您可以根据需要在视图中添加两个按钮并在{{1}}方法中返回该视图来自定义它。