2015-12-01 4 views
3

Я хочу изменить изображение кнопки прокрутки ячейки uitableview. Я искал его, но я не получаю желаемого результата. Я использовал этот код:uitableview удалить изображение кнопки в iOS

- (void)willTransitionToState:(UITableViewCellStateMask)state{ 
    [super willTransitionToState:state]; 
    if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask) { 
     for (UIView *subview in self.subviews) { 
      if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) { 
       UIImageView *deleteBtn = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)]; 
       [deleteBtn setImage:[UIImage imageNamed:@"delete.png"]]; 
       [[subview.subviews objectAtIndex:0] addSubview:deleteBtn]; 

      } 
     } 
    } 
} 

Но это не работает в прошивке 9. Просьба предложить мне, как добиться этого в прошивке 9.

Если бы я использовал этот код, то его рабочий, но изображение не установлено правильно:

[[UIButton 
     appearanceWhenContainedIn:[TableViewCell class], nil] 
    setImage:[UIImage imageNamed:@"Delete-notification.png"] forState:UIControlStateNormal]; 


-(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath { 
UITableViewRowAction *button = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"Button 1" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) 
    { 
     NSLog(@"Action to perform with Button 1"); 
    }]; 


    return @[button]; 
} 

like this] 1

заранее спасибо!

+0

http://stackoverflow.com/questions/1615469/custom-delete-button-on-editing-in-uitableview-cell –

+0

@FeminaBrahmbhatt Я использовал это тоже, но не работает :( –

ответ

4

Я использую эту библиотеку https://github.com/CEWendel/SWTableViewCell, чтобы отобразить изображение на кнопку красть.

#import "SWTableViewCell.h" 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
     SWTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"idTipsCell"]; 
     [cell setLeftUtilityButtons:[self leftButtonsWithColor:tipsData.color accessibilityValue:(tipsData.isLiked) ? @"1":@"0"] WithButtonWidth:80.0]; 
     cell.delegate = self; 
     return cell; 
    } 

- (NSArray *)leftButtonsWithColor:(UIColor*)color accessibilityValue:(NSString*)accessibilityValue { 
    NSMutableArray *leftUtilityButtons = [NSMutableArray new]; 

    [leftUtilityButtons sw_addUtilityButtonWithColor:color icon:[UIImage imageNamed:@"img_like"] accessibilityValue:accessibilityValue]; 
    [leftUtilityButtons sw_addUtilityButtonWithColor:color icon:[UIImage imageNamed:@"img_share"] accessibilityValue:@"shareButton"]; 

    return leftUtilityButtons; 
} 

Надеюсь, это поможет вам.

0

Я бы не пошел на какой-либо взломать, как найти subview где-то в иерархии ячейки. Я бы просто реализовал самообучение (это не так сложно) или использовать какой-то стручок. Смотрите это один:

https://www.cocoacontrols.com/controls/abmenutableviewcell

+1

я могу использовать UITableViewRowAction для этого, но я хочу знать, как установить изображение на кнопку удаления. –

-2

На самом деле это не то, о чем вы просите, но вы можете заменить текст «Удалить» на мусорную корзину emoji.

func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String? { 
    return "" 
} 
+0

Забавный подход)) –

Смежные вопросы