UITableView删除按钮与内容重叠

时间:2013-04-24 14:30:33

标签: ios objective-c xcode ipad xib

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

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

Delete button overlapping to UISwitch

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


后记

为了简洁,我决定在“删除”按钮出现时不移动我的UISwitch位置,但要使其消失,请在“删除”按钮消失后将其恢复。

所以,根据@geo的建议(谢谢),我用这种方式完成了(非常简单):

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

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

2 个答案:

答案 0 :(得分:0)

我遇到了一个非常类似的问题并修复了它。您需要在Interface Builder中的自定义tableview单元格中为UI元素添加正确的自动调整遮罩(假设未在此处进行自动布局)。

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

添加一个Left" bar",你应该很好。

答案 1 :(得分:-2)

覆盖Methode

-(void)willTransitionToState:(UITableViewCellStateMask)state

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