有没有办法根据点击单元格来改变uitableview的单元格大小?例如:宽度为100.0f的单元格,首先单击单元格将宽度更改为150.0f,然后单击单元格宽度更改为100.0f。我怎样才能做到这一点?在uitableviewcell上点击多次
0
A
回答
1
你应该能够用NSIndexPath对象索引一个NSMutableDictionary。这可以让你缓存你想要的点击TVCells的大小。然后,只需将它们拉出来在运行时:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSNumber *newHeight;
NSNumber *height = [[self heightCache] objectForKey:indexPath];
if (height == nil) newHeight = [NSNumber numberWithFloat:100.0];
else newHeight = [NSNumber numberWithFloat:[height doubleValue] + 50];
[[self heightCache] setObject:newHeight forKey:indexPath];
[tableView reloadData]; // also consider reloadRowsAtIndexPaths:
}
与此同时,在您的委托:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSNumber height = [heightCache objectForKey:indexPath];
return height == nil ? defaultHeight : [height floatValue];
}
UPDATE:哦,哎呀,我还以为你的意思是TVCells只是越做越大。是的,只需将我的示例中的浮点数更改为bools,然后再根据布尔值返回高度。
1
您需要维护一个布尔值,在随后的每次点击中更改此布尔值。
现在基于此布尔定义您的cellForRowAtIndexPathmethod
和didSelectRowAtIndexPath
方法只需更新布尔和重新加载table
。
相关问题
- 1. 的UITableViewCell上点击
- 2. 崩溃的UITableViewCell在第二次点击
- 3. 按钮点击多次点击一次
- 4. jQuery.on(“click”)点击多次点击一次
- 5. 在生成的元素上点击多次点击事件
- 6. 在UITableViewCell中检测UICollectionView上的点击
- 7. 在jquery中多次点击
- 8. 从多次点击
- 9. captureOutput:didOutputMetadataObjects:fromConnection:Deleagate点击多次
- 10. NSButton多次点击
- 11. 功能问题,点击多次点击()多次
- 12. 点击UITableView(不在UITableViewCell)
- 13. 扩展UITableViewCell点击?
- 14. UITableViewCell不可点击
- 15. jQuery的动画上点击,停止对重复多次点击
- 16. 如何在QRadioButton上多次点击,但只运行一次?
- 17. jQuery如果多次点击
- 18. 避免多次点击
- 19. 的ImageButton多次点击
- 20. Flex键多次点击
- 21. iscroll 5多次点击
- 22. CustomDialog - 防止多次点击
- 23. Scrapy飞溅多次点击
- 24. 停止多次点击vue.js
- 25. jquery点击多次执行
- 26. 防止多次点击
- 27. ngDialog确认多次点击
- 28. Android Viewholder onclicklistener多次点击
- 29. 多次点击添加类
- 30. jquery .live()点击多次