ios-滚动UITableview改变UIbutton的图片

问题描述

滚动UITableview改变UIbutton的图片
有一个UITableView,然后添加了一个自定义视图作为UIButton。每个button都有一个tag,在动作方法中获取tag,当点击按钮时,会改变选中和取消按钮的图片,问题是,等到我滚动它时,又回复了正常状态。

这是索引方法中cell的行。

static NSString *CellIdentifier = @""Cell4"";UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];if (cell == nil){    cell = [self tableviewCellWithReuseIdentifierFollowing:CellIdentifier];}followingButton = [UIButton buttonWithType:UIButtonTypeCustom];[followingButton addTarget:self action:@selector(followingButtonpressed:)forControlEvents:UIControlEventTouchUpInside];[followingButton setImage:[UIImage imageNamed:@""following12.png""] forState:UIControlStateNormal];followingButton.frame = CGRectMake(220.0 20.0 100 40.0);[cell.contentView addSubview:followingButton];NSLog(@""row--%d""indexPath.row);followingButton.tag=indexPath.row;NSLog(@""followingButton.tag--%d""followingButton.tag);[self configureCellFollowing:cell forIndexPath:indexPath];return cell;}==================//Here is the action method-(void)followingButtonpressed:(id)sender{    NSLog(@""sender tag --%d""[sender tag]);    UIButton *btnPly = (UIButton *)sender;    if([btnPly isSelected])    {        [btnPly setSelected:NO];        [btnPly setImage:[UIImage imageNamed:@""following12.png""] forState:UIControlStateNormal];    }    else    {        [btnPly setSelected:YES];        [btnPly setImage:[UIImage imageNamed:@""following_off12.png""] forState:UIControlStateNormal];    }}

解决方案

这是因为每次你滚动的时候就会调用:

[followingButton setImage:[UIImage imageNamed:@""following12.png""] forState:UIControlStateNormal];

因此改为下面的代码就解决了:

static NSString *CellIdentifier = @""Cell4"";UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];if (cell == nil){    cell = [self tableviewCellWithReuseIdentifierFollowing:CellIdentifier];followingButton = [UIButton buttonWithType:UIButtonTypeCustom];[followingButton addTarget:self action:@selector(followingButtonpressed:)forControlEvents:UIControlEventTouchUpInside];[followingButton setImage:[UIImage imageNamed:@""following12.png""] forState:UIControlStateNormal];followingButton.frame = CGRectMake(220.0 20.0 100 40.0);[cell.contentView addSubview:followingButton];[self configureCellFollowing:cell forIndexPath:indexPath];}return cell;}

解决方案二:
这段代码新建了cell:

NSString *CellIdentifier = [NSString stringWithFormat:@""S%1dR%1d""indexPath.sectionindexPath.row];UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
时间: 2024-12-23 03:31:21

ios-滚动UITableview改变UIbutton的图片的相关文章

ios7-ios开发 UITableView异步加载图片,滑动时会很卡

问题描述 ios开发 UITableView异步加载图片,滑动时会很卡 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *cellIdentifier = @"cellIdentifier"; BrandTableViewCell *cell = (BrandTableViewCell *)[tab

IOS开发UIButton(左边图片右边文字效果)_IOS

在使用UIButton的时候,需要实现UIButton左边图片,图片后面紧跟文字效果比较麻烦,简单实现方法具体代码如下: (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = RGB(235, 235, 240); UIButton *oneButton = [[UIButton alloc] initWithFrame:CGRectMake(0, kHeaderHeight + 8, kScreenWidth,

IOS中UITableView滚动到指定位置_IOS

方法很简单: - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated 有些需要注意的地方: 如果在reloadData后需要立即获取tableview的cell.高度,或者需要滚动tableview,那么,直接在reloadData后执行代码是有可能出问题的. reloadDa

详解iOS App开发中改变UIButton内部控件的基本方法_IOS

UIButton内部默认有个UIImageView.UILabel控件,可以分别用下面属性访问: 复制代码 代码如下: @property(nonatomic,readonly,retain) UIImageView *imageView; @property(nonatomic,readonly,retain) UILabel     *titleLabel; UIButton之所以能显示文字,完全是因为它内部的titleLabel也,也就是说,UIButton的setTitle:forSta

iOS开发系列--无限循环的图片浏览器

概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件都介绍一遍确实没有必要,所谓授人以鱼不如授人以渔,这里会尽可能让大家明白其中的原理,找一些典型的控件进行说明,这样一来大家就可以触类旁通.今天我们主要来看一下UIScrollView的内容: UIView UIScrollView 实战--图片浏览器 UIView 在熟悉UIScrollView之前很有必要说一下UIView的内容.在上一篇

iOS使用UITableView实现的富文本编辑器

本文讲的是iOS使用UITableView实现的富文本编辑器,公司最近做一个项目,其中有一个模块是富文本编辑模块,之前没做个类似的功能模块,本来以为这个功能很常见应该会有已经造好的轮子,或许我只要找到轮子,研究下轮子,然后修改打磨轮子,这件事就八九不离十了.不过,还是 too young to simple 了,有些事,还是得自己去面对的,或许这就叫做成长,感觉最近一年,对于编程这件事,更多了一点热爱,我感觉我不配过只会复制粘贴代码的人生,编程需要有挑战.所以,遇到困难,保持一份正念,路其实就在

ios tableview怎么改变所有的cell状态。急,在线等。谢谢大牛们了。

问题描述 ios tableview怎么改变所有的cell状态.急,在线等.谢谢大牛们了. 比如上面的图,点击全选,然后改变所以cell里面的状态. 解决方案 给选中和未选中设置成两张图片 设置为按钮选中状态的图片和未选中状态下的图片 点击全选的时候 你就把cell左边按钮的状态变成selected就行了 为了防止重用后 出现错误 可以加一个BOOL状态控制一下 在cell加载左按钮的时候判断一下状态就行了 解决方案二: tableView selectRowAtIndexPath: anima

iOS实现UITableView数据为空时的提示页面_IOS

前言 相信对于iOS开发者们来说,在开发过程中,经常用UITableView,一定会遇到数据为空的情况,这时需要在空页面上放一个图片和一行文字提示数据为空,下面整理了两种方法来实现这个功能. 第一个是继承UITableView,在新类中集成图片和文字 #import <UIKit/UIKit.h> #import "Const.h" @interface WFEmptyTableView : UITableView @property (nonatomic, assign)

JS+CSS实现自动改变切换方向图片幻灯切换效果的方法

 这篇文章主要介绍了JS+CSS实现自动改变切换方向图片幻灯切换效果的方法,实例分析了javascript操作图片切换方向的幻灯片技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS+CSS实现自动改变切换方向图片幻灯切换效果的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o