`

取消tableView返回时cell选中的问题

    博客分类:
  • ios
 
阅读更多

在对表格UITableView操作时,有时当用户选中表格行后,需要自动取消选择。实现这种效果,其原理是选中表格行时,会调用 didSelectRowAtIndexPath方法,只要在这个方法中,调用performSelector执行取消选中表格行的方法。示例代码如下:

 

- (void) unselectCurrentRow
{
  // Animate the deselection
  [self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
}
  
- (void)tableView:(UITableView *)tableViewdidSelectRowAtIndexPath:(NSIndexPath *)newIndexPath
{
  // Any other table management you need
  ...
  
  // After one second, unselect the current row
  [self performSelector:@selector(unselectCurrentRow)withObject:nil afterDelay:1.0];
} 
在performSelector中还可以设定延迟时间。unselectCurrentRow方法中则完成取消表格行的选择,并且实现了动画效果。 
 
 
分享到:
评论

相关推荐

    IOS 开发之实现取消tableView返回时cell选中的问题

    总的来说,取消tableView返回时cell选中的问题可以通过在`tableView:didSelectRowAtIndexPath:`中使用`performSelector`或`scheduledTimer`来延迟调用取消选中行的方法。这样,用户可以看到选中状态,但随后会自动...

    ios-cell的选中.zip

    在`tableView(_:cellForRowAt:)`中,我们可以根据需要设置每个cell的选中状态。同时,我们还需要在`numberOfRowsInSection:`中返回列表的行数。 ```swift func tableView(_ tableView: UITableView, ...

    ios-tableView的多项选择删除.zip

    在`tableView(_:numberOfRowsInSection:)`方法中,为每个section返回`UITableViewCell.SelectionStyle.checkmark`,这会显示一个复选标记来表示选中状态。同时,在`tableView(_:cellForRowAt:)`方法中,根据...

    一个控制器 多个tableview

    2. **取消选中Cell**:同样地,在`tableView(_:didDeselectRowAt:)`中处理取消选择的情况。 ```swift func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) { if tableView === ...

    ios tableview

    2. `tableView:didDeselectRowAtIndexPath:`:当用户取消选择某一行时,此方法被调用。 "SWTableViewSelectionDemo-master"可能包含了一些自定义选择行为的实现,例如连续选择、多选或自定义选中动画。开发者可能会...

    tableview单选行

    我们需要在 `numberOfRowsInSection` 方法中返回行数,在 `cellForRowAt` 方法中配置每个单元格,包括初始的选中状态。 3. **UITableViewDelegate**: 代理协议 `UITableViewDelegate` 提供了处理用户交互的回调。在...

    iOS TableView单选Demo

    - 添加`didSelectRowAt`方法,当用户点击Cell时,取消之前选中的Cell(如果有的话)并更新新选中Cell的状态。同时更新`selectedIndexPath`。 3. UITableViewCell的自定义 - 为达到更好的视觉效果,可能需要自定义...

    ios-单选表的简单实现 解决cell的复用.zip

    同时,需要取消其他cell的选中状态,以保持单选特性。 5. Cell复用: - `UITableView`的cell复用机制是为了提高性能,避免为每个cell创建新对象。在`dequeueReusableCell(withIdentifier:for:)`中,系统会返回一个...

    UITableView选中行

    接下来,实现`tableView(_:didSelectRowAt:)`方法来处理行的选中和取消选中: ```swift func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { // 移除之前选中的行的checkmark if ...

    UITableView单选

    当用户点击一个新的cell时,先取消之前选中的cell的选中状态(如果有的话),然后更新`selectedIndexPath`为新的IndexPath,并使新的cell显示选中状态。以下是一个简单的实现步骤: 1. **设置UITableViewDelegate和...

    从零开始学iOS7开发系列教程-事务管理软件开发实战-Chapter81

    选中Table View Cell,然后在Attributes Inspector中修改Selection Style为None,去除选中时的颜色。 通过以上步骤,我们成功地创建了一个静态表格视图,包含一个文本字段,允许用户输入事务信息,同时解决了选中行...

    cell左划删除方便自己拓展

    可以使用`tableView(_:didSelectRowAt:)`和`tableView(_:didDeselectRowAt:)`方法来跟踪用户的选中状态。同时,可能还需要一个按钮来触发批量删除或编辑操作。 总之,通过自定义UITableViewCell和实现...

    ios-系统自带tableVew全选.zip

    这里,`allItemsAreSelected()`函数检查数据源中所有条目的选中状态,如果都为选中,则返回true。 最后,为了保持用户界面的同步,我们需要在数据源发生变化时更新对应的单元格。可以通过重写UITableViewDataSource...

    用 UITableView 进行多选的代码例子

    最后,为了提供视觉反馈,我们还需要自定义UITableViewCell,以便在被选中时显示选中状态。可以通过重写`setSelected(_:animated:)`方法来实现: ```swift override func setSelected(_ selected: Bool, animated: ...

    iphone开发基础UITableView的多行编辑控制

    你可以通过`tableView(_:didDeselectRowAt:)`和`tableView(_:didSelectRowAt:)`来跟踪选中和取消选中的行。 5. **自定义编辑操作**: 如果需要实现除了删除之外的其他编辑操作,比如复制或移动,可以使用`...

    多选单选全选

    6. **保存与恢复状态**:为了保持用户的选择,你还需要在适当的时候(如应用关闭、切换页面等)保存字典,然后在应用启动或返回时恢复。 通过以上步骤,我们可以构建一个基本的多选/单选功能。在实际开发中,可能还...

    ios-多选表.zip

    要开启多选,需要在DataSource协议的`tableView(_:numberOfRowsInSection:)`方法返回数据项数量,同时在`tableView(_:cellForRowAt:)`方法中设置cell的`selectionStyle`为`.multipleSelectionBackground`。...

    iphone UITableView详解 带实例 例子

    默认情况下,当用户点击一个 cell 时,会有选中状态的动画。如果想要取消这个动画,可以调用 `[tableView deselectRowAtIndexPath:indexPath animated:YES]`。 #### 六、滚动至指定位置 有时我们需要滚动 ...

    SwiftTableView:swift简单的控件使用,搜索条,tableview等

    - **数据源方法**:必须实现`UITableViewDataSource`协议的方法,如`numberOfRowsInSection:`返回行数,`tableView:cellForRowAt:`返回每个单元格。 - **委托方法**:实现`UITableViewDelegate`协议的方法,如`...

Global site tag (gtag.js) - Google Analytics