2 developerwab developerWab 于 2013.07.19 10:26 提问

UITableViewCell重复UIImages

资源包有10张图片:

sample_pic1.jpg
sample_pic2.jpg
sample_pic3.jpg
...
sample_pic10.jpg

有一个100行的tableView,我想要每10行一个的格式显示上面那10张图片。基本实现了每十行一重复,但是我想要一个重复图片的逻辑方式。

代码:

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //NSLog(@"Inside cellForRowAtIndexPath ... indexPath.row: %d", indexPath.row);

    static NSString *CellIdentifier = @"Cell";
    // Try to retrieve from the table view a now-unused cell with the given identifier.
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    // If no cell is available, create a new one using the given identifier.
    if (cell == nil)
    {
        // Use the default cell style.
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }//nil-check
        int imageCounter = (indexPath.row+1);
        //ofcourse this logic doesn't work for rows 21 and up!
        if (imageCounter > 10)
        {
            imageCounter = (indexPath.row+1) - 10;
        }
        NSLog(@"indexPath.row: %d ... imageCounter: %d ...", indexPath.row, imageCounter);

        NSMutableString *tmpImgStr = [NSMutableString stringWithFormat:@"sample_pic%d.jpg", imageCounter];

        UIImage *myimage = [UIImage imageNamed:tmpImgStr];
        cell.imageView.image = myimage;
}

这里indexPath.row从0到99。

1个回答

redCoral_
redCoral_   2013.07.19 13:47
已采纳

使用模运算符实现。考虑到从1开始,图片编号也应该从1开始:

int imageCounter = (indexPath.row % 10) + 1;
NSMutableString *tmpImgStr = [NSMutableString stringWithFormat:@"sample_pic%d.jpg", imageCounter];
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
iOS UITableViewCell重用机制避免重复显示问题
常规配置如下 当超过tableView显示的范围的时候 后面显示的内容将会和前面重复 [objc] view plain copy // 这样配置的话超过页面显示的内容会重复出现   - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIn
解决UITableViewCell复用(重绘出现重叠)
解决UITableViewCell重绘出现重叠的现象案例: 固定的广播栏更换滚动多条信息重复加载出现复用! 当我们的UITableView为透明或者判断cell是否为空时,会发现每次刷新或者滑动TableView的时候UITableViewCell便会出现重叠,如图:下面为解决办法,提供给各位参考-(UITableViewCell *)tableView:(UITableView *)table
[IOS]今天开始学UI---UIImageView
UIImageView 浅析
iOS UITableView(十) tableViewcell内容重复的解决办法
我们都知道tableView是有也重用机制的,它的 tableView的实现并且不是为每个数据项创建一个tableCell。而是只创建屏幕可显示最大个数的cell,然后重复使用这些cell,对cell做单独的显示配置,来达到既不影响显示效果,又能充分节约内容的目的。 但是需要注意的是正是因为这样的原因:配置Cell的时候一定要注意,对取出的重用的cell做重新赋值,不要遗留老数据。 为了解决c
UItableViewCell 重用导致控件多次加载 去除cell重用导致 视图控件多次加载问题(转)
原因UITableView中的cell可以有很多,一般会通过重用cell来达到节省内存的目的:通过为每个cell指定一个重用标识符(reuseIdentifier),即指定了单元格的种类,当cell滚出屏幕时,会将滚出屏幕的单元格放入重用的queue中,当某个未在屏幕上的单元格要显示的时候,就从这个queue中取出单元格进行重用。但对于多变的自定义cell,有时这种重用机制会出错。比如,当一个cel
解决UITableViewCell重用导致的重叠(字变粗)
UITableViewCell的重用机制是个非常强大的功能,但是有时候也会带来很大麻烦,比如说重叠,如图所示: 本来是这样的: 可是上下滚动几下之后就会变成这样!! cell里面所有的东西都变粗了好几倍! 然后点快照看看: 里面已经有N个cell在开party了: 原因是UITableViewCell重用了,而我这个时候并不需要这种重用。我用过的有效的有两种方法:第一种:
ios--UITableViewCell 使用方法详解
UITableViewCell: 1.使用系统自定义的各种UITableViewCell的样式 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{     static NSString* indentifier = @"cell
iOS开发 防止UIButton,cell等重复点击
主要是快速点击button或者cell,所对应的action或者逻辑会走多次,例如:点击button或者cell调用拨打电话的方法,会弹出拨打电话框好多次;这个对用户不太友好;问了下哥们儿,他给了个宏,目前算是解决这个问题;代码如下:// 防止多次调用 #define kPreventRepeatClickTime(_seconds_) \ static BOOL shouldPrevent; \
UITableViewcell的用法
UITableViewcell的用法 UITableViewcell的用法
iOS UITableView中的cell因为重用机制导致新的cell的数据出现重复或者错乱
UITableView中的cell可以有很多,一般会通过重用cell来达到节省内存的目的:通过为每个cell指定一个重用标识符(reuseIdentifier),即指定了单元格的种类,当cell滚出屏幕时,会将滚出屏幕的单元格放入重用的缓存池中,当某个未在屏幕上的单元格要显示的时候,就从这个缓存池中取出单元格进行重用。 但对于多变的自定义cell,有时这种重用机制会出错。比如,当一个cell