0
私は自分のアプリケーションをセットアップしてViewViewrollerにセルを追加できるようにしていますが、そのセルはtableViewに表示されますが、セルをクリックすると、情報。ここでは...コードである削除するためにスワイプするときにtableViewCellを取得しない方法
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var selectedIndexPath: NSIndexPath? = nil
override func viewDidLoad() {
super.viewDidLoad()
tableView.registerNib(UINib(nibName: "CustomViewCell", bundle: nil), forCellReuseIdentifier: "Cell")
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! CustomViewCell
cell.clipsToBounds = true
return cell
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if selectedIndexPath != nil {
if indexPath == selectedIndexPath {
return 140
} else {
return 38
}
} else {
return 38
}
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// New
switch selectedIndexPath {
case nil:
selectedIndexPath = indexPath
default:
if selectedIndexPath! == indexPath {
selectedIndexPath = nil
} else {
selectedIndexPath = indexPath
}
}
tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
}
すべてが拡大し、削除するために、私はスワイプするセルを構成していることを除いて、セルのために閉じますが、私は削除するスワイプときに、セルだけで展開すると正常に動作します。 HERESにコード:
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
let deleteAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Delete") { (action , indexPath) -> Void in
self.editing = false
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let moc = appDelegate.managedObjectContext
moc.deleteObject(self.events[indexPath.row])
appDelegate.saveContext()
self.events.removeAtIndex(indexPath.row)
tableView.reloadData()
}
return [deleteAction]
}
私は、任意のアイデアを削除するためにスワイプするとき、それがあるように展開するセルをたくありませんか?
私は140を38に変更しようとしました。私がスワイプしたときには全く拡張されませんでしたが、コードの一部がそれに影響を与えるとは思っていませんでした。スワイプされると、セルの通常のサイズに戻ります。 –