Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

commitEditingStyle is not fired

I've a UITableView, I am trying to delete a row when editing mode is active but commitEditingStyle is not fired.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *simpleTableIdentifier = @"cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }

    cell.text=[NSString stringWithFormat:@"Row Number %d",indexPath.row];

    return cell;
}

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"trying to delete a row..");
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 6;
}

-(void)Edit:(id)sender //Active editing mode
{
    [self.table setEditing:YES animated:YES];
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(Done:)];
}

I just want to delete a row?

This is how I show my popover:

UIPopoverController *popover;
-(IBAction)open:(id)sender
{
    CGRect r=((UIButton*)sender).frame;
    CGRect tRect=[((UIButton*)sender) convertRect:((UIButton*)sender).frame toView:self.view];
    tRect.origin.x=r.origin.x;

    Popover *firstViewCtrl = [[Popover alloc] init];

    UINavigationController *navbar = [[UINavigationController alloc] initWithRootViewController:firstViewCtrl];
    navbar.preferredContentSize = CGSizeMake(300, 300);
    popover = [[UIPopoverController alloc] initWithContentViewController:navbar];
    popover.delegate = self;
    popover.popoverContentSize = CGSizeMake(300, 300);

    CGRect popRect = CGRectMake(0,
                                0,
                                200,
                                200);

    [popover presentPopoverFromRect:popRect
     inView:self.view
     permittedArrowDirections:UIPopoverArrowDirectionAny
     animated:YES];

   // [popover presentPopoverFromRect:tRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
}

I created UITableView using Xcode interface.

-(void)Done:(id)sender
{
    [self.table setEditing:NO animated:NO];
    //[self.table endEditing:true];
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(Edit:)];
}

enter image description here

like image 809
onivi Avatar asked Oct 15 '13 19:10

onivi


1 Answers

it fires when you touch DELETE button, not the minus... And delete buttons on your tableview doesn't show propably due to your tableview's width...

like image 101
amone Avatar answered Oct 21 '22 08:10

amone