我正准备一个UITableView
,其右侧有一个UISwitch
小部件的自定义原型单元格,我想让我的用户能够删除行。
一切都很好,除了当删除按钮显示时它与UISwitch
重叠,这样:
当删除按钮出现时,是否可以让UISwitch
向左移动?
为了简洁,我决定在“删除”按钮出现时不移动我的UISwitch
位置,但要使其消失,请在“删除”按钮消失后将其恢复。
所以,根据@geo的建议(谢谢),我用这种方式完成了(非常简单):
在我的UITableViewCell
'子类.m
文件中:
- (void)willTransitionToState:(UITableViewCellStateMask)state
{
[super willTransitionToState:state];
if (state & UITableViewCellStateShowingDeleteConfirmationMask) {
activationSwitch.hidden = YES;
}
else {
activationSwitch.hidden = NO;
}
}
答案 0 :(得分:0)
我遇到了一个非常类似的问题并修复了它。您需要在Interface Builder中的自定义tableview单元格中为UI元素添加正确的自动调整遮罩(假设未在此处进行自动布局)。
在我的情况下,我需要为每个UI元素添加Left约束(请参阅Size Inspector中的小型自动调整图片/动画,View部分)。
添加一个Left" bar",你应该很好。
答案 1 :(得分:-2)
覆盖Methode
-(void)willTransitionToState:(UITableViewCellStateMask)state
- > UITableViewCellStateShowingDeleteConfirmationMask
您的自定义单元格,并在那里进行自定义:)