gpt4 book ai didi

iphone - 如何在表格 View 中进行单元格编辑而不对单元格的设计进行任何更改?

转载 作者:行者123 更新时间:2023-12-03 19:52:36 24 4
gpt4 key购买 nike

我有一个应用程序,其中我将我的tableview保持为可编辑以拖放单元格。但是,当我这样做时,单元格的设计正在发生变化,使得每个元素都居中,并且有一个三行的右侧显示按钮。我需要通过保持单元格的相同设计来做到这一点。没有任何公开按钮并保持单元格布局与不可编辑表格 View 的情况相同。我实现了这样的编辑 [tableview setEditing: YES动画:YES];在didload中并将委托(delegate)实现为

- (UITableViewCellEditingStyle) tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewCellEditingStyleNone;
}

- (BOOL) tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}

- (void) tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath {

NSInteger sourceRow = sourceIndexPath.row;
NSInteger destRow = destinationIndexPath.row;
id object = [array objectAtIndex:sourceRow];

[array removeObjectAtIndex:sourceRow];
[array insertObject:object atIndex:destRow];

}

有人可以帮我实现这个目标吗?

最佳答案

尝试一下:

将此方法添加到您的 tableView 委托(delegate)中以防止缩进:

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath{
return NO;
}

然后在你的 UITableViewCell 子类中将所有重新排序 View 的 alpha 设置为 0:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated{
[super setEditing:editing animated:animated];
if (editing) {
for (UIView * view in self.subviews) {
NSLog(@"%@",view);
if ([NSStringFromClass([view class]) rangeOfString: @"Reorder"].location != NSNotFound) {
for (UIView *sv in view.subviews) {
sv.alpha = 0.0f;
}
}
}
}
}

请注意,这是一次黑客攻击,我不确定苹果是否会因此拒绝该应用程序。

关于iphone - 如何在表格 View 中进行单元格编辑而不对单元格的设计进行任何更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16315177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com