我在iPhone中有自定义单元格,其中有一个按钮和图像视图我想要更改图像视图的图像,当我点击这里的按钮是我的按钮代码
-(void)btnLikePressed:(UIButton *)sender{
imageDC *objMenu = [dataArray objectAtIndex:sender.tag];
GET_DBHANDLER
[dbHandler performSelector:@selector(like_image:) withObject: objMenu.image_id];
}
答案 0 :(得分:0)
要找到UITableViewCell
的确切索引,请使用以下方法: -
CGPoint point = [sender convertPoint:CGPointZero toView:_iTableView];
NSIndexPath *indexPath = [_iTableView indexPathForRowAtPoint:point];
您将获得索引路径。在这里,您可以识别出您的UIImageView
,希望您为其添加了标签,然后更改了图片。
答案 1 :(得分:0)
以下步骤将起作用: -
在cellForRowatIndexpath中使用此代码
NSArray *nib;
static NSString *cellIdentifier= @"cell";
UITableViewCell *theCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if(theCell== nil)
{
{
nib = [[NSBundle mainBundle] loadNibNamed:<Your cellNibName> owner:self options:nil];
}
theCell = [nib objectAtIndex:0];
theCell.selectionStyle = UITableViewCellSelectionStyleNone;
// theCell.selectionStyle = UITableViewCellSelectionStyleBlue;
}
UIImageView *imageView=(UIImageView*)[[theCell contentView] viewWithTag:<Your tag>];
//使用imageView
你有图像视图参考做你想要的。
答案 2 :(得分:0)
在UITableViewDataSource函数
中- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
设置单元格时,只需将标签添加到按钮和imageView中。
cell.yourBtn.tag = indexPath.row;
cell.imageView.tag = indexPath.row + 1000(any number);
现在在你的UITableViewController类
中现在,当用户点击按钮时,您获得的按钮标记实际上是您的行号和imageView(btn标记+ 1000)标记,您可以使用相同的信息获取imageView。
-(void)btnLikePressed:(UIButton *)sender{
NSInteger btnTag = [sender tag];
UIImageView *imageView = [yourTableView viewWithTag:btnTag + 1000];
// here your code by using imageView
}
答案 3 :(得分:0)
试试这个以下代码
-(void)btnLikePressed:(UIButton *)sender{
static NSString *CellIdentifier = @"yourCellName";
UITableViewCell *cell=(UITableViewCell*)[[sender superview] superview];
UITableView *tableView=(UITableView*)[cell superview];
NSIndexPath *path=[tableView indexPathForCell:cell];
yourCellName *selectedCell = (yourCellName*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
[selectedCell.imageView.image setImage:[UIImage imageNamed:@"yourImageName.png"]];
}
答案 4 :(得分:0)
首先将tagValue提供给你的imageView,就像你给imageView一样。 然后在buttonClick上访问它。
-(void)btnLikePressed:(UIButton *)sender
{
UITableViewCell *cell=(UITableViewCell*)[sender superview];
UIImageView*imageView=(UIImageView*)[cell viewWithTag:5];
//Now do whatEver you want to do with your imageview
}
编辑
如果您将imageView添加为
[cell.contentView addSubview:imageView];
然后像这样获取你的tableView单元格
UITableViewCell *cell=(UITableViewCell*)[[sender superview] superview];