私は3つのテーブルビューを持つカスタムUIViewを持っていますが、テーブルビューは内容に応じてセルフサイズしています。内容を持っている。これらはすべてスクロールビューに埋め込まれていますが、すでに動作しています。ビューのスクロールとテーブルビューでコンテンツが適切に表示され、適切に自動サイズ設定されます。スクロールビューのサイズは問題なく調整されます。セル内のボタンを制御するために使用される代理人
テーブルビューにアイテムがある場合、セル・インデックスには、テーブル・ビューを定義したビュー・コントローラ内でクリックされたセルのインデックスとともにアクセスするボタンがいくつかあります。ここで私は一つの項目でtableViewsそれぞれを示していますPICで
は、CanastasのtableViewはちょうど項目削除ボタンがあり、PRODUCTOSのtableViewが増加または減少する項目削除ボタンやステッパーを持っています量。実装したStackOverflowGet button click inside UI table view cellのデリゲートを含むソリューションが見つかりました。しかし何らかの理由でそれが機能していないし、デリゲートメソッドのコードが実行されていません。
CanastasViewCell
import UIKit
protocol CanastasViewCellDelegate: class {
func closeButtonTapped(at index: IndexPath)
}
class CanastasViewCell: UITableViewCell {
@IBOutlet weak var imagenProducto: UIImageView!
@IBOutlet weak var nombreProducto: UILabel!
@IBOutlet weak var descProducto: UILabel!
@IBOutlet weak var precioProducto: UILabel!
@IBOutlet weak var closeButton: UIButton!
weak var delegate: CanastasViewCellDelegate?
var indexPath: IndexPath!
override func awakeFromNib() {
super.awakeFromNib()
}
@IBAction func eliminarProducto(_ sender: AnyObject) {
self.delegate?.closeButtonTapped(at: indexPath)
}
}
CarritoViewController
import UIKit
class CarritoViewController: UIViewController, UITableViewDelegate,
UITableViewDataSource, CanastasViewCellDelegate {
func closeButtonTapped(at index: IndexPath) {
print("Button tapped at index:\(index)")
}
コードが英語でないため、コードを理解する際に問題があります。 'eliminarProducto'とは何を意味するのですか? – paper1111
delearProductoはdeleteProductを意味し、indexPath.rowから商品を削除する必要があります(私はまだその部分をコーディングしていません)ので、今すぐインデックスでタップされたButton :(indexPath.row)を印刷する必要がありますが、何でも –
ボタンを '@IBAction'に正しく接続したことを確認してください – paper1111