2016-10-18 9 views
0

UITableViewCellスワイプにカスタムUIViewを追加したいと思います。基本的に私は2つのUIButtonを追加したいと思います。両方とも細胞の高さの半分を有する。私がの代行メソッドUITableViewを使用する場合、これはUIButtonを横並びに追加しますが、高さがテーブルビューセルの半分に等しく、他は同じ高さのボタンの下に追加したいと考えています。UITableViewCellでカスタムUIViewを追加するにはどうすればいいですか?

ありがとうございます!!!

答えて

0

スワイプイベントに表示される2つのボタンを含むビューを追加したいですか?あなたがUITableViewCellにこのビューを追加し、それを非表示にして、スワイプイベントでhidden = NOを設定することができます。また、UIPanGestureRecognizerを使用して、ビューのアルファを設定することもできます。またはフレームを変更、この場合にはcell.clipsToBoundsを設定する方が良いだろう= YES

0

あなたは、このメソッドを実装することで起動することができます。

func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { 
    // you need to implement this method too or you can't swipe to display the actions 
} 

次に、あなたのようにビューの二つのボタンを追加することによって、それをカスタマイズすることができますeditActionsForRowAtIndexPathメソッドでそのビューを返すことができます。

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") 
} 

をし、これが結果です:

1

あなたのカスタムテーブルビューのセルにこのコードを追加することができたときに、ユーザーのスワイプセル正しくご質問をお読みください enter image description here

+0

、私は基本的にはこの機能が欲しいです。 –

関連する問題