Skip to content

Instantly share code, notes, and snippets.

@joaofranca
Created July 22, 2012 13:06
Show Gist options
  • Save joaofranca/3159618 to your computer and use it in GitHub Desktop.
Save joaofranca/3159618 to your computer and use it in GitHub Desktop.
gist 7: iOS - Customize UITableViewCell delete/move overlay views while editing
- (void)layoutSubviews{
[super layoutSubviews];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.0f];
for (UIView *subview in self.subviews) {
if([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {
// do magic here
...
}else if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellEditControl"]) {
// do magic here
...
}else if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellReorderControl"]) {
// do magic here
// example - use the full cell area as touching ground for the drag & drop
// we'll also remove the move icon
// change the drag & drop touch area frame
CGRect newFrame = self.frame;
newFrame.origin.x = 0.0;
newFrame.origin.y = 0.0;
subview.frame = newFrame;
// search for the move icon
for(UIView * subview2 in subview.subviews){
if ([subview2 isKindOfClass: [UIImageView class]]) {
// remove the icon
[subview2 removeFromSuperview];
}
}
}
}
[UIView commitAnimations];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment