1

rubymotionでグループ化された複数のUITableViewセクションをどのように作成しますか?

以下の不完全なコード。さまざまな UITavleViewDataSource メソッドが互いにどのように機能するかを確立するのに助けが必要です。

class TableController < UIViewController

    def viewDidLoad
        super
        self.title = "TableView"
        @table = UITableView.alloc.initWithFrame(self.view.bounds,
            style: UITableViewStyleGrouped)
        view.addSubview(@table)

        @table.dataSource = self
        @table.delegate = self

        @data = ['First Name','Last Name','Birthdate', '']
        @datatwo = ['Locations','Allergens']

    end

    def tableView(tableView, numberOfSectionsInTableView: tableView)
        2
    end

    def tableView(tableView, numberOfRowsInSection: section)
        # ***I'm not sure if I should list both my arrays above***
    end

    def tableView(tableView, cellForRowAtIndexPath: indexPath)
        @reuseIdentifier ||= "CELL_IDENTIFIER"

        cell = tableView.dequeueReusableCellWithIdentifier(@reuseIdentifier)
        cell = UITableViewCell.alloc.initWithStyle(
                UITableViewCellStyleDefault,
                reuseIdentifier: @reuseIdentifier)

        @text = UITextField.alloc.initWithFrame([[140, 12], [160, 50]])

        if (indexPath.section) == 0

            if (indexPath.row) == 0
                @first = @text
                @first.placeholder = "First Name" 
                @first.textAlignment = UITextAlignmentRight
                cell.addSubview(@first)
            elsif (indexPath.row) == 1
                @last = @text
                @last.placeholder = "Last Name"
                @last.textAlignment = UITextAlignmentRight
                cell.addSubview(@last)

            end
        end

        if (indexPath.section) == 1
                        if (indexPath.row) == 0
                @location = @text
                @location.placeholder = "Location" 
                @location.textAlignment = UITextAlignmentRight
                cell.addSubview(@location)
            elsif (indexPath.row) == 1
                @kidallergens = @text
                @kidallergens.placeholder = ""
                @kidallergens.textAlignment = UITextAlignmentRight
                cell.addSubview(@kidallergens)
            end
        end


        cell.textLabel.text = @data[indexPath.row]
        cell
    end

    def tableView(tableView, didSelectRowAtIndexPath: indexPath)
        tableView.deselectRowAtIndexPath(indexPath, animated: true)
    end
end
4

1 に答える 1