2

我正在准备一个UITableView自定义原型单元格,UISwitch右侧有一个小部件,我想让我的用户能够删除行。

一切都很好,除了当删除按钮出现时它与 重叠UISwitch,这样:

删除与 UISwitch 重叠的按钮

UISwitch删除按钮出现时是否可以向左移动?


结语

为了简洁起见,我决定UISwitch在“删除”按钮出现时不移动我的位置,而是让它消失,当“删除”按钮消失时将其恢复。

所以,根据@geo的建议(谢谢),我用这种方式(很简单)解决了这个问题:

在我UITableViewCell的 ' 子类.m文件中:

- (void)willTransitionToState:(UITableViewCellStateMask)state
{
    [super willTransitionToState:state];
    if (state & UITableViewCellStateShowingDeleteConfirmationMask) {
        activationSwitch.hidden = YES;
    }
    else {
        activationSwitch.hidden = NO;
    }
}
4

2 回答 2

0

我遇到了一个非常相似的问题并修复了它。您需要在 Interface Builder 的自定义表格视图单元格中为您的 UI 元素设置正确的自动调整大小掩码(假设此处不进行自动布局)。

在我的例子中,我需要为我的每个 UI 元素添加 Left 约束(请参阅 Size Inspector、View 部分中的小自动调整图片/动画)。

添加一个左“栏”,你应该很好。

于 2015-04-26T03:20:04.190 回答
-2

覆盖方法

-(void)willTransitionToState:(UITableViewCellStateMask)state

->UITableViewCellStateShowingDeleteConfirmationMask 您的自定义单元格并在那里进行自定义:)

于 2013-04-24T14:37:52.680 回答