我想在UIButton
添加UITableViewCell
。我的单元格在选中时会扩展高度。只有在展开区域调用didSelectRow
时才能显示该按钮...我有4个单元格,我想填充不同的问题,表单和按钮。我应该对每个细胞进行细分吗?
到目前为止,这是我的代码:
let SelectedCellHeight: CGFloat = 500.0
let UnselectedCellHeight: CGFloat = 44.0
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 4
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let logItemCell = tableView.dequeueReusableCellWithIdentifier("LogCell", forIndexPath: indexPath) as! UITableViewCell
}
// Used to expand cell when selected
func tableView(tableView: UITableView!, heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
if let selectedCellIndexPath = selectedCellIndexPath {
if selectedCellIndexPath == indexPath {
return SelectedCellHeight
}
}
return UnselectedCellHeight
}
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
if let selectedCellIndexPath = selectedCellIndexPath {
if selectedCellIndexPath == indexPath {
self.selectedCellIndexPath = nil
} else {
self.selectedCellIndexPath = indexPath
}
} else {
selectedCellIndexPath = indexPath
}
tableView.beginUpdates()
tableView.endUpdates()
}
答案 0 :(得分:2)
是的,您应该制作4个具有不同标识符和类的原型单元格,并根据indexPath在“cellForRowAtIndexPath”中返回您想要的单元格。
答案 1 :(得分:0)
您应该子类化您想要的每个单元格。当调用 function dateAction(){
var options = {
date: new Date(),
mode: 'date'
};
alert("here");
datePicker.show(options, function(date){
alert("date result " + date);
});
}
并且扩展单元格时,didSelectRow
应该被称为