• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
iPhone UITableView / UITableViewCell - Delete Button
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

iPhone UITableView / UITableViewCell - Delete Button


  • Subject: iPhone UITableView / UITableViewCell - Delete Button
  • From: Mick Walker <email@hidden>
  • Date: Wed, 20 Jan 2010 20:28:37 +0000

I am using the 'swipe to delete' functionality of the UITableView.
The problem is I am using a customised UITableViewCell which is created on a per item basis in

- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

I need to alter the position of the delete button (simply to move it around 10px to the left), how would I go about doing this?
Here is my existing code for creating the cell:

- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   NSLog(@"cellForRowAtIndexPath");
#if USE_CUSTOM_DRAWING
   const NSInteger TOP_LABEL_TAG = 1001;
   const NSInteger BOTTOM_LABEL_TAG = 1002;
   UILabel *topLabel;
   UILabel *bottomLabel;
#endif

   static NSString *CellIdentifier = @"Cell";
   UITableViewCell *cell = [aTableView dequeueReusableCellWithIdentifier:CellIdentifier];
   if (cell == nil)
   {
       //
       // Create the cell.
       //
       cell =
       [[[UITableViewCell alloc]
         initWithFrame:CGRectZero
         reuseIdentifier:CellIdentifier]
        autorelease];

#if USE_CUSTOM_DRAWING


       const CGFloat LABEL_HEIGHT = 20;
       UIImage *image = [UIImage imageNamed:@"trans_clock.png"];

       //
       // Create the label for the top row of text
       //
       topLabel =
       [[[UILabel alloc]
         initWithFrame:
         CGRectMake(
                    image.size.width + 2.0 * cell.indentationWidth,
                    0.5 * (aTableView.rowHeight - 2 * LABEL_HEIGHT),
                    aTableView.bounds.size.width -
                    image.size.width - 4.0 * cell.indentationWidth
                    ,
                    LABEL_HEIGHT)]
        autorelease];
       [cell.contentView addSubview:topLabel];

       //
       // Configure the properties for the text that are the same on every row
       //
       topLabel.tag = TOP_LABEL_TAG;
       topLabel.backgroundColor = [UIColor clearColor];
       topLabel.textColor = fontColor;
       topLabel.highlightedTextColor = [UIColor colorWithRed:1.0 green:1.0 blue:0.9 alpha:1.0];
       topLabel.font = [UIFont systemFontOfSize:[UIFont labelFontSize]];

       //
       // Create the label for the top row of text
       //
       bottomLabel =
       [[[UILabel alloc]
         initWithFrame:
         CGRectMake(
                    image.size.width + 2.0 * cell.indentationWidth,
                    0.5 * (aTableView.rowHeight - 2 * LABEL_HEIGHT) + LABEL_HEIGHT,
                    aTableView.bounds.size.width -
                    image.size.width - 4.0 * cell.indentationWidth
                    ,
                    LABEL_HEIGHT)]
        autorelease];
       [cell.contentView addSubview:bottomLabel];

       //
       // Configure the properties for the text that are the same on every row
       //
       bottomLabel.tag = BOTTOM_LABEL_TAG;
       bottomLabel.backgroundColor = [UIColor clearColor];
       bottomLabel.textColor = fontColor;
       bottomLabel.highlightedTextColor = [UIColor colorWithRed:1.0 green:1.0 blue:0.9 alpha:1.0];
       bottomLabel.font = [UIFont systemFontOfSize:[UIFont labelFontSize] - 2];

       //
       // Create a background image view.
       //
       cell.backgroundView =
       [[[UIImageView alloc] init] autorelease];
       cell.selectedBackgroundView =
       [[[UIImageView alloc] init] autorelease];
#endif
   }

#if USE_CUSTOM_DRAWING
   else
   {
       topLabel = (UILabel *)[cell viewWithTag:TOP_LABEL_TAG];
       bottomLabel = (UILabel *)[cell viewWithTag:BOTTOM_LABEL_TAG];
   }
   topLabel.text  = @"Example Text";
   topLabel.textColor = fontColor;

   bottomLabel.text = @"More Example Text";
   bottomLabel.textColor = fontColor;

   //
   // Set the background and selected background images for the text.
   // Since we will round the corners at the top and bottom of sections, we
   // need to conditionally choose the images based on the row index and the
   // number of rows in the section.
   //
   UIImage *rowBackground;
   UIImage *selectionBackground;
   NSInteger sectionRows = [aTableView numberOfRowsInSection:[indexPath section]];
   NSInteger row = [indexPath row];
   if (row == 0 && row == sectionRows - 1)
   {
       rowBackground = [UIImage imageNamed:@"topAndBottomRow.png"];
       selectionBackground = [UIImage imageNamed:@"topAndBottomRowSelected.png"];
   }
   else if (row == 0)
   {
       rowBackground = [UIImage imageNamed:@"topRow.png"];
       selectionBackground = [UIImage imageNamed:@"topRowSelected.png"];
   }
   else if (row == sectionRows - 1)
   {
       rowBackground = [UIImage imageNamed:@"bottomRow.png"];
       selectionBackground = [UIImage imageNamed:@"bottomRowSelected.png"];
   }
   else
   {
       rowBackground = [UIImage imageNamed:@"middleRow.png"];
       selectionBackground = [UIImage imageNamed:@"middleRowSelected.png"];
   }
   ((UIImageView *)cell.backgroundView).image = rowBackground;
   ((UIImageView *)cell.selectedBackgroundView).image = selectionBackground;

   cell.imageView.image = [UIImage imageNamed:@"Example_Image.png"];
#else
   cell.text = @"Example";
#endif
   return cell;
}
Thank you for taking the time to read this post._______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Prev by Date: Re: Socket Blocking Question
  • Next by Date: Re: Socket Blocking Question
  • Previous by thread: Re: Uncaught exceptions not terminating my app
  • Next by thread: iPhone:NSURLConnection and keep-alive
  • Index(es):
    • Date
    • Thread