ios - UICollectionView - 图像被随机设置
<p><p>我在我的应用程序中使用 collectionView。我正在为 didSelect 委托(delegate)中的单元格背景 View 设置图像。但是当我选择一个单元格 indexPath 时,图像被设置为 3 个单元格 indexPath。当我滚动 collectionView 时,图像会随机更改吗?请帮我。提前致谢。</p>
<pre><code>- (void)viewDidLoad
{
;
forCellWithReuseIdentifier:uio];
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection: (NSInteger)section
{
return 50;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell *cell = [collection dequeueReusableCellWithReuseIdentifier:uio
forIndexPath:indexPath];
cell.backgroundColor = ;
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"index %@",indexPath);
UICollectionViewCell *cell = ;
cell.backgroundView =[initWithImage:];
}
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>那是因为您重复使用了您的单元格。一个选项是使用字典变量来表示您的单元格已被选中,如果尚未选中则重置图像。</p>
<pre><code>- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"index %@",indexPath);
UICollectionViewCell *cell = ;
cell.backgroundView =[initWithImage:];
forKey:];
}
</code></pre>
<p>然后在您的 cellForItemAtIndexPath 方法中,您将检查该值</p>
<pre><code>- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell *cell = [collection dequeueReusableCellWithReuseIdentifier:uio
forIndexPath:indexPath];
BOOL selected = [] boolValue];
if(selected){
cell.backgroundView =[initWithImage:];
}else{
cell.backgroundView = nil;
}
cell.backgroundColor = ;
return cell;
}
</code></pre>
<p>当然,如果你使用某种对象作为模型,这里有一个选定的变量是合适的,你将不再需要一个 nsdictionary。</p></p>
<p style="font-size: 20px;">关于ios - UICollectionView - 图像被随机设置,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/23013935/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/23013935/
</a>
</p>
页:
[1]