gpt4 book ai didi

iphone - iOS自定义表格 View 单元格在编辑模式下调整大小

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:18 25 4
gpt4 key购买 nike

当编辑 UITableView 时,圆形红色按钮和删除按钮与自定义单元格重叠。

我们如何调整自定义单元格的大小,以便为红色圆形按钮和删除按钮留出空间。

最佳答案

使用这段代码,您可以根据编辑单元格的方式和所处的阶段执行不同的任务。我对代码进行了大量注释,因为我花了很长时间才自己弄清楚。 (变得困惑)

  - (void)willTransitionToState:(UITableViewCellStateMask)state {

[super willTransitionToState:state];

if (state == UITableViewCellStateDefaultMask) {

NSLog(@"Default");
// When the cell returns to normal (not editing)
// Do something...

} else if ((state & UITableViewCellStateShowingEditControlMask) && (state & UITableViewCellStateShowingDeleteConfirmationMask)) {

NSLog(@"Edit Control + Delete Button");
// When the cell goes from Showing-the-Edit-Control (-) to Showing-the-Edit-Control (-) AND the Delete Button [Delete]
// !!! It's important to have this BEFORE just showing the Edit Control because the edit control applies to both cases.!!!
// Do something...

} else if (state & UITableViewCellStateShowingEditControlMask) {

NSLog(@"Edit Control Only");
// When the cell goes into edit mode and Shows-the-Edit-Control (-)
// Do something...

} else if (state == UITableViewCellStateShowingDeleteConfirmationMask) {

NSLog(@"Swipe to Delete [Delete] button only");
// When the user swipes a row to delete without using the edit button.
// Do something...
}
}

你说你添加了自定义标签什么的,我以前在使用表格 View 时也做过同样的事情。我通常更喜欢使用动画 block “隐藏”重叠的 View ,例如:

[UIView animateWithDuration:0.3

animations:^ {
self.myTableCellSubview.alpha = 0.0f;
}
];

在上面的每个 if 语句中,根据状态将 alpha 从 1.0f 更改为 0.0f。

至于一般的缩进,在属性检查器中,确保选中“编辑时缩进”,您也可以通过以下方式以编程方式设置:

cell.shouldIndentWhileEditing = YES;

如果这不起作用,您可能在自动调整大小时遇到​​了一些奇怪的问题。在 Storyboard或 xib 中,选择需要缩进的单元格 subview ,然后转到“大小”检查器(标尺选项卡)。如果 subview 需要从左侧缩进 (--->),请确保它固定在左侧:

enter image description here

如果 subview 需要从右边缩进 (<---),确保它固定在右边:

enter image description here

希望这对您有所帮助!

关于iphone - iOS自定义表格 View 单元格在编辑模式下调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14187073/

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