UITableViewCell, Удалить Рамку Кнопки?
Есть ли способ изменить рамку кнопки "swipe" [DELETE]
, используемой на UITableViewCells
? В настоящее время он центрирован вертикально внутри клетки, но если это возможно, я хотел бы переместить его вниз к голубому путеводителю.
3 ответа:
Если вы ищете строго верный способ решения этой проблемы, то вам следует перейти в подкласс
UITableViewCell
и переопределить все методы обработки состояний для корректного рисования вашей собственной кнопки delete (не вызывайте super в этих методах). Но есть и другой простой способ:@implementation CustomCell - (void)layoutSubviews { [super layoutSubviews]; if (self.showingDeleteConfirmation) { if ([self.subviews count] < 4) return; UIView *delBtn = [self.subviews objectAtIndex:3]; delBtn.frame = CGRectOffset(delBtn.frame, 0, 10); } } @end
Вместо
didTransitionToState:
,Как насчет использования
-(void)willTransitionToState:
и установки фреймаeditingAccessoryView
?- (void)willTransitionToState:(UITableViewCellStateMask)state { if (state == UITableViewCellEditingStyleDelete) { NSInteger num = 10; UIView.frame = CGRectMake(UIView.frame.origin.x,UIView.frame.origin.y - num, UIView.size.width,UIView.size.height); } }