ios - 从包含 UITableView 中多个单元格的行中删除选定的图像
<p><p>我有一个包含图像列表的 UITableView,每行包含 4 个 <code>UITableViewCell</code>,
用户可以选择多个图像(选择是通过在单元格上隐藏和显示覆盖图像)
我想要做的是当用户单击删除按钮时从我的表中删除选定的图像。</p>
<p>以下是部分代码:</p>
<pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
ThumbnailImageCell *cell = (ThumbnailImageCell *);
if (cell == nil)
{
cell = [[ initWithManagedImages: reuseIdentifier:CellIdentifier] autorelease];
}
else
{
];
}
return cell;}
-(NSArray*)imagesForIndexPath:(NSIndexPath*)_indexPath {
int index = (_indexPath.row*4);
int maxIndex = (_indexPath.row*4+3);
if(maxIndex < ) {
return ,
,
,
,
nil];
}
else if(maxIndex-1 < ) {
return ,
,
,
nil];
}
else if(maxIndex-2 < ) {
return ,
,
nil];
}
else if(maxIndex-3 < ) {
return ];
}
return nil;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return ceil( / 4.0);
}
</code></pre>
<p>我尝试做的是以下但到目前为止没有任何成功</p>
<pre><code>-(void)finishDeleting{
int countOfDeletedThread;
;
;
NSMutableIndexSet *mutableIndexSet = [ init];
NSMutableArray *indexToDelete = [ init];
NSIndexPath *indexPath ;
for(ThumbnailImage *thumbnailImage in self.imagesArray)
{
if()
{
countOfDeletedThread = countOfDeletedThread+1;
indexPath = ;
;
;
}
}
;
;
;
;
;
;
;
;}
</code></pre>
<p>有什么帮助吗?我被困了2天,不知道该怎么办。</p>
<p>谢谢。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>如果我理解正确,每个表格行有 4 个 <code>UIImageView</code>,而不是
4 <code>UITableViewCell</code>s。这意味着如果您删除图像的一个子集,剩下的
图像将在所有行中“重排”。因此使用没有意义
<code>beginUpdates/deleteRowsAtIndexPaths/endUpdates</code>。你可能应该只是</p>
<ul>
<li>从数据源数组中移除选中的图片<code>self.imagesArray</code>,</li>
<li>调用<code></code>。</li>
</ul>
<p>从数组中移除选中的图片可以稍微简化为</p>
<pre><code>NSIndexSet *indexSet = [self.imagesArray indexesOfObjectsPassingTest:^BOOL(ThumbnailImage *thumbnailImage, NSUInteger idx, BOOL *stop) {
return ;
}];
;
</code></pre>
<p>请注意 <a href="https://developer.apple.com/library/ios/documentation/UIKit/Reference/UICollectionView_class/Reference/Reference.html" rel="noreferrer noopener nofollow"><code>UICollectionView</code></a> (自 iOS 6 起可用)可能更适合显示
每行多张图片。</p></p>
<p style="font-size: 20px;">关于ios - 从包含 UITableView 中多个单元格的行中删除选定的图像,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/19741005/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/19741005/
</a>
</p>
页:
[1]