カスタムセルにボタンを追加するにはどうすればよいですか?

ラウナク・トリカ

XIBファイルからカスタム セルを作成して に実装しています。カスタム セルからtableViewテキストを実装できますが、ボタンに同じものを実装してタッチを受け取るにはどうすればよいですか。

私が書いたコードは次のとおりです。

struct cellData {

let cell : Int!
let text : String!
let button =  UIButton()
}

var arrayOfData = [cellData]()

override func viewDidLoad() {
    super.viewDidLoad()

arrayOfData = [cellData(cell : 1, text: "ahfhasdf", button: button)]
 }

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    if arrayOfData[indexPath.row].cell==1{

        let cell=Bundle.main.loadNibNamed("CustomTableViewCell1", owner: self, options: nil)?.first as! CustomTableViewCell1

        cell.label1.text=arrayOfData[indexPath.row].text
        cell.pillImage.currentImage=arrayOfData[indexPath].pillImage

        return cell
}

MypillCustomTableViewCell1セルに入れたいボタンで、ボタンが押されたときにアクションを実行する方法は? 助けてください。

マチック・オブラク

これはあなたが質問で求めているものとは大きく異なりますが、このようなものを探していると思います。コードとコメントがそれ自体を物語っていることを願っています。

// My cell from xib (storyboard)
class MyTableViewCell: UITableViewCell {

    @IBOutlet weak var button: UIButton!
    @IBOutlet weak var cellImageView: UIImageView!
    @IBOutlet weak var label: UILabel!

}

// My view controlle from xib (storyboard)
class MyViewController: UIViewController {

    @IBOutlet weak var tableView: UITableView!

    fileprivate var dataSource: [CellData] = [CellData]()

    override func viewDidLoad() {
        super.viewDidLoad()

        dataSource = [CellData(index: 0, title: "First cell", image: nil, target: self, selector: #selector(firstCellPressed)),
                      CellData(index: 1, title: "Another cell", image: nil, target: self, selector: #selector(anyOtherCellPressed))]
        tableView.reloadData()
    }

    @objc private func firstCellPressed() {
        print("First cell pressed")
    }

    @objc private func anyOtherCellPressed(sender: UIButton) {
        print("Cell at row \(sender.tag) pressed")
    }

}

fileprivate extension MyViewController {

    struct CellData {
        let index: Int
        let title: String?
        let image: UIImage?
        let target: Any?
        let selector: Selector
    }

}

extension MyViewController: UITableViewDataSource {

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "myCellIdentifier", for: indexPath) as! MyTableViewCell // Dequeue cell
        let source = dataSource[indexPath.row] // Get the source object
        cell.button.tag = indexPath.row // Assign tag so we can use it in the button action method

        // Assign target and selector if it exists
        if let target = source.target {
            cell.button.addTarget(target, action: source.selector, for: .touchUpInside)
        }
        cell.cellImageView.image = source.image // Assign image
        cell.label.text = source.title // Assign title
        return cell
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dataSource.count
    }

}

それでも、これは私がやりたいことにはほど遠いですが、気軽に実験してみてください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

セル内にカスタムボタンをハンズオンテーブルで追加するにはどうすればよいですか?

分類Dev

AVPlayerViewControllerにカスタムボタンを追加するにはどうすればよいですか?

分類Dev

Outlookにカスタムボタンを追加するにはどうすればよいですか?

分類Dev

ACF Wysiwyg tinymceにカスタムボタンを追加するにはどうすればよいですか?

分類Dev

UIActivityViewControllerにカスタムボタンを追加するにはどうすればよいですか?

分類Dev

カスタムXIBセルにアクションボタンを追加するにはどうすればよいですか?

分類Dev

カスタムConfigurationSectionをアセンブリに追加するにはどうすればよいですか?

分類Dev

Kendo UI Grid MVCでuidからセルデータを送信するカスタムボタンを生成するにはどうすればよいですか?

分類Dev

キャストSDKV3でキャストボタンのカスタムスタイルを追加するにはどうすればよいですか?

分類Dev

1行に複数のカスタムボタンを動的に追加するにはどうすればよいですか?[JQueryデータテーブル]

分類Dev

BuddyBossのメッセンジャーページにカスタムボタンを追加するにはどうすればよいですか?

分類Dev

React Nativeのヘッダーにカスタムタイトルとボタンを追加するにはどうすればよいですか?

分類Dev

RxCocoaのカスタムボタンにコントロールイベントを追加するにはどうすればよいですか?

分類Dev

win32 c ++のツールバーボタンにカスタム画像を動的に追加するにはどうすればよいですか?

分類Dev

このカスタムスクロールに次と前のボタンを追加するにはどうすればよいですか?

分類Dev

ルートにカスタムデータを追加するにはどうすればよいですか?

分類Dev

複数のカスタムコントロールボタンリーフレットjsを追加するにはどうすればよいですか?

分類Dev

UWP Mapcontrolにカスタムボタンを配置するにはどうすればよいですか?

分類Dev

Javaでpaintcomponentを再実行するために、長方形(カスタムボタン)にmouselistenerを追加するにはどうすればよいですか?

分類Dev

カスタムボタンの細い境界線を削除するにはどうすればよいですか?

分類Dev

xmlns / idQなしで(VBA)カスタムリボンにグループを追加するにはどうすればよいですか?

分類Dev

カスタムangularjsモジュールのVisualStudio Codeにインテリセンスを追加するにはどうすればよいですか?

分類Dev

ARInvoiceカスタマーセレクターにカスタムフィールドを追加するにはどうすればよいですか?

分類Dev

カスタムExcelリボンUIにツールチップを追加するにはどうすればよいですか?

分類Dev

バックボーンモデルにカスタムメソッドを追加するにはどうすればよいですか?

分類Dev

バックボーンモデルにカスタムメソッドを追加するにはどうすればよいですか?

分類Dev

Firefoxにカスタム検索エンジンを追加するにはどうすればよいですか?

分類Dev

TFSビルド2015のビルドサマリーにカスタムセクションを追加するにはどうすればよいですか?

分類Dev

カスタムタイピング定義を追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    セル内にカスタムボタンをハンズオンテーブルで追加するにはどうすればよいですか?

  2. 2

    AVPlayerViewControllerにカスタムボタンを追加するにはどうすればよいですか?

  3. 3

    Outlookにカスタムボタンを追加するにはどうすればよいですか?

  4. 4

    ACF Wysiwyg tinymceにカスタムボタンを追加するにはどうすればよいですか?

  5. 5

    UIActivityViewControllerにカスタムボタンを追加するにはどうすればよいですか?

  6. 6

    カスタムXIBセルにアクションボタンを追加するにはどうすればよいですか?

  7. 7

    カスタムConfigurationSectionをアセンブリに追加するにはどうすればよいですか?

  8. 8

    Kendo UI Grid MVCでuidからセルデータを送信するカスタムボタンを生成するにはどうすればよいですか?

  9. 9

    キャストSDKV3でキャストボタンのカスタムスタイルを追加するにはどうすればよいですか?

  10. 10

    1行に複数のカスタムボタンを動的に追加するにはどうすればよいですか?[JQueryデータテーブル]

  11. 11

    BuddyBossのメッセンジャーページにカスタムボタンを追加するにはどうすればよいですか?

  12. 12

    React Nativeのヘッダーにカスタムタイトルとボタンを追加するにはどうすればよいですか?

  13. 13

    RxCocoaのカスタムボタンにコントロールイベントを追加するにはどうすればよいですか?

  14. 14

    win32 c ++のツールバーボタンにカスタム画像を動的に追加するにはどうすればよいですか?

  15. 15

    このカスタムスクロールに次と前のボタンを追加するにはどうすればよいですか?

  16. 16

    ルートにカスタムデータを追加するにはどうすればよいですか?

  17. 17

    複数のカスタムコントロールボタンリーフレットjsを追加するにはどうすればよいですか?

  18. 18

    UWP Mapcontrolにカスタムボタンを配置するにはどうすればよいですか?

  19. 19

    Javaでpaintcomponentを再実行するために、長方形(カスタムボタン)にmouselistenerを追加するにはどうすればよいですか?

  20. 20

    カスタムボタンの細い境界線を削除するにはどうすればよいですか?

  21. 21

    xmlns / idQなしで(VBA)カスタムリボンにグループを追加するにはどうすればよいですか?

  22. 22

    カスタムangularjsモジュールのVisualStudio Codeにインテリセンスを追加するにはどうすればよいですか?

  23. 23

    ARInvoiceカスタマーセレクターにカスタムフィールドを追加するにはどうすればよいですか?

  24. 24

    カスタムExcelリボンUIにツールチップを追加するにはどうすればよいですか?

  25. 25

    バックボーンモデルにカスタムメソッドを追加するにはどうすればよいですか?

  26. 26

    バックボーンモデルにカスタムメソッドを追加するにはどうすればよいですか?

  27. 27

    Firefoxにカスタム検索エンジンを追加するにはどうすればよいですか?

  28. 28

    TFSビルド2015のビルドサマリーにカスタムセクションを追加するにはどうすればよいですか?

  29. 29

    カスタムタイピング定義を追加するにはどうすればよいですか?

ホットタグ

アーカイブ