一个UITableView,其UITableViewCell为20行,每行上都有一个按钮,单击按钮我想将UITableViewCell放到UITableView的底部。
是否有任何委托方法可以做到这一点。 您的反馈将不胜感激。
答案 0 :(得分:1)
是的,tableview上有一个方法
- (void)moveRowAtIndexPath:(NSIndexPath*)indexPath
toIndexPath:(NSIndexPath*)newIndexPath
答案 1 :(得分:1)
是的,有一个!
使用以下代理方法:
必须返回YES
以允许根据您的要求移动canMoveRowAtIndexPath
委托方法中的tableView行,
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == 0) // Don't move the first row
return NO;
return YES;
}
然后,使用moveRowAtIndexPath
委托方法相应地更新重定位行的数据模型数组,
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath
toIndexPath:(NSIndexPath *)toIndexPath
{
//Updating the data-model array
}
按下按钮中的moveRowAtIndexPath
,
- (void)btnClick:(UIButton*)sender
{
UITableViewCell *cell = (UITableViewCell *)sender.superview;
NSIndexPath *indexpath = [tableView indexPathForCell:cell];
//Change accordindly as per requirement
[tableView moveRowAtIndexPath:[NSIndexPath indexPathForItem:indexpath.row inSection:indexpath.section] toIndexPath:[NSIndexPath indexPathForItem:0 inSection:indexpath.section]];
}
另外,请阅读Apple文档: