如何在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
答案 0 :(得分:1)
使用section
参数确定要返回的号码。
def tableView(tableView, numberOfRowsInSection: section)
if section == 0
@data.length
elsif section == 1
@datatwo.length
else
0
end
end