【问题标题】:how to change custom UIImageView when table view cell is selected选择表格视图单元格时如何更改自定义 UIImageView
【发布时间】:2015-12-25 17:27:37
【问题描述】:

我正在使用带有 uitableview 的自定义单元格。在单元格中,我有一个 uiimage 和一个标签。当我加载表格视图时,我在自定义单元格中加载所有未选择的图像。现在我想当用户当时选择一个单元格时想要更改图像(选定的图像)。之后它进入另一个视图控制器,但是当用户进来时,他可以看到带有选定图像图标的选定单元格。

- (void)viewDidLoad {


    [super viewDidLoad];

    title=[[NSArray alloc]initWithObjects:@"Hi one ", @"one ",@"one ACCOUNT ",@"one A SEVICE",@"one YOUR ORDER",@"one FREE SERVICE",@" one WALL",@"one POINTS", @"one LOCATOR",@"one WITH US",@"one_ PACKAGE",@"one_call",nil];



    imgicon=[[NSArray alloc]initWithObjects:@"profile_icon.png",@"db_icon.png",@"ma_icon.png",@"pickup_icon.png",
             @"ic_track_nav.9.png",@"rf_icon.png",@"wal_icon.png",@"ic_loylty_nav.9.png",@"ic__locator.9.png",@"ic_nification.png",@"kage_icon.png",@"ic_reachus.png",nil];


    imgiconselected=[[NSArray alloc]initWithObjects:@"profile_icon.png",@"db_icon_p.png",@"ma_icon_p.png",@"pickup_icon_p.png",
                     @"ic_track_nav.9_p.png",@"rf_icon_p.png",@"wa_icon_p.png",@"ic_loya_nav.9_p.png",@"ic__locator.9_p.png",@"ic_notification_p.png",@"pge_icon_p.png",@"ic_reacs_p.png",nil];

    [slidertb reloadData];

    // Do any additional setup after loading the view.
}


-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   // here how can i get that cell path and icon image to change .
    NSLog(@"row==%ld",(long)indexPath.row);

    if(indexPath.row==1){

        FroVC *froVC = [self.storyboard instantiateViewControllerWithIdentifier:@"froVC"];
        UINavigationController* navController = (UINavigationController*)self.revealViewController.frontViewController;
        [navController setViewControllers: @[froVC] animated: NO ];
        [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
    }



}

【问题讨论】:

  • 你为什么不使用UIButton它有不同的状态,根据你可以改变图像
  • 你能探索一下吗?我没有得到你

标签: ios objective-c uitableview uiimageview


【解决方案1】:

您可以为您的 UITableViewCell 实现- (void)setSelected:(BOOL)selected 方法。在此方法中,您可以根据selected 状态更改您的 ImageView。

如果您希望在用户未从单元格中松开手指时进行此更改,您可以使用- (void)setHighlighted:(BOOL)highlighted 方法。

UPD。示例:

// code inside your UITableViewCell.m
- (void)setSelected:(BOOL)selected {
  [super setSelected: selected];
  _myAwesomeImageView.highglighted = selected;
}

【讨论】:

    【解决方案2】:
    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
       // Get cell here, which index path cell image you need to change
    
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    
    // set image for selected state
    
    [cell setImage:[UIImage ImagedName:@"imageName"]];
    
    }
    

    OtherWise 代替图像,您可以使用 UIButton 并更改按钮的状态,我们在上面的代码中更改图像视图上的图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-11
      • 2012-07-10
      • 2015-09-10
      • 1970-01-01
      • 2015-11-29
      • 2011-04-27
      • 2012-05-26
      • 1970-01-01
      相关资源
      最近更新 更多