Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >选中时正在覆盖的扩展tableview单元格数据

选中时正在覆盖的扩展tableview单元格数据
EN

Stack Overflow用户
提问于 2017-02-14 04:21:48
回答 2查看 92关注 0票数 0

我有一个事务表视图,其中包含不同类型的费用,当被选中时,它会展开以显示更多详细信息。

但是,当这种情况发生时,详细信息似乎会被覆盖。我可以看到它的闪光,有时它确实会被填充。文本字段被正确填充。我已经尝试调试这个问题有一段时间了,但是不确定如何解决这个问题。

下面是我目前的实现:

代码语言:javascript
运行
AI代码解释
复制
// MARK: Tableview
extension TransactionViewController: UITableViewDelegate, UITableViewDataSource {
    // MARK: - Table View

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "CardCell", for: indexPath) as! CardTableViewCell

        cell.delegate = self

        var isDetailHidden = true
        if indexPath.row == rowSelected {
            isDetailHidden = false
        }
        let transaction = transactionList[indexPath.row]
        cell.configureCell(transaction: transaction, isDetailHidden: isDetailHidden)

        return cell
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return transactionList.count
    }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

    if indexPath.row == rowSelected {
        // don't refresh and set again.
        return
    }

    rowSelected = indexPath.row
    transactionBeingEdited = transactionList[indexPath.row]

    transactionTableView.setContentOffset(CGPoint(x: 0, y: rowSelected! * 76), animated: true)

    let cell = tableView.dequeueReusableCell(withIdentifier: "CardCell", for: indexPath) as! CardTableViewCell

    cell.delegate = self
    cell.configureDetailCell()
    transactionTableView.reloadData()
}

    func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {

        let transaction = transactionList[indexPath.row]
        coreDataManager.deleteTransaction(transaction: transaction)
    }

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

        if indexPath.row != rowSelected {
            return 76.5
        } else {
            return 323
        }
    }

详细信息部分中的变量是使用库的下拉框。我已经在UITableViewCell类中对其进行了配置。设置dropdown方法发生在awakefromnib方法中。

代码语言:javascript
运行
AI代码解释
复制
private func setupBillDropDown() {
        billDropDown.anchorView = bill
        billDropDown.bottomOffset = CGPoint(x: 0, y: bill.bounds.height)
        billDropDown.dataSource = TransactionType.list

        // Action triggered on selection
        billDropDown.selectionAction = { [unowned self] (index, item) in
            self.bill.setTitle(item, for: .normal)
            self.bill.setTitleColor(UIColor.white, for: .normal)

            // Update transaction
            if let transactionBeingEdited = self.delegate?.transactionBeingEdited {
                transactionBeingEdited.type = item
                self.coreDataManager.saveToCoreData()
                self.coreDataManager.nc.post(name: .transactionBeingEdited, object: nil, userInfo: nil)
            }
        }
    }

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2017-02-14 05:12:31

我认为在func tableView(_ tableView: UITableView,didSelectRowAt indexPath: IndexPath)中,您正在通过加载表格来覆盖已配置的单元格。试试这个:

func tableView(_ tableView: UITableView,didSelectRowAt indexPath: IndexPath) {

代码语言:javascript
运行
AI代码解释
复制
if indexPath.row == rowSelected {
    // don't refresh and set again.
    return
}

rowSelected = indexPath.row
transactionBeingEdited = transactionList[indexPath.row]

transactionTableView.setContentOffset(CGPoint(x: 0, y: rowSelected! * 76), animated: true)

//let cell = tableView.dequeueReusableCell(withIdentifier: "CardCell", for: indexPath) as! CardTableViewCell

let cell = tableView.cellForRow(at: indexPath)
cell.configureDetailCell()
tableView.reloadRows(at: [indexPath], with: .none)

}

票数 0
EN

Stack Overflow用户

发布于 2017-02-14 06:06:26

我花了几个小时才弄明白这个问题……这是因为我使用以下命令更新按钮标题

代码语言:javascript
运行
AI代码解释
复制
bill.titleLabel!.text = transaction.type ?? "Select Bill"

而不是

代码语言:javascript
运行
AI代码解释
复制
bill.setTitle(transaction.type ?? "Select Bill", for: .normal)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42217823

复制
相关文章
扩展CheckBoxList实现选中绑定
CheckBoxList中有DataTextField和DataValueField可以用于设置绑定时的绑定对象属性,但是可惜针对CheckBoxList却没有办法直接绑定一个Item是否被选中。于是我打算扩展一下CheckBoxList,使得该控件可以绑定Checked状态。具体做法是这样的:
深蓝studyzy
2022/06/16
3770
【iOS7一些总结】9、与列表显示(在):列表显示UITableView
列表显示,顾名思义它是在一个列表视图的形式显示在屏幕上的数据的内容。于ios在列表视图UITableView达到。这个类在实际应用中频繁,是很easy理解。这里将UITableView的主要使用方法总结一下以备查。
全栈程序员站长
2022/07/06
2K0
【iOS7一些总结】9、与列表显示(在):列表显示UITableView
VBA: 同时选中多个不相邻的单元格区域
文章背景:在工作中,有时需要同时引用多个不连续的单元格区域,然后进行相应的操作(如改变单元格底色,增加外框线等)。
Exploring
2022/09/20
3.7K0
VBA: 同时选中多个不相邻的单元格区域
iOS小经验:UITableView&UICollectionView设置单元格的默认选中状态
一个表格视图(或者宫格视图)中,当一个单元格被选中时设置彩色样式,选中其它单元格时设置灰色样式。
陈满iOS
2018/10/09
3.6K0
C#-DevExpress改变表格行颜色
通过行样式进行设置,这里使用了一个转换器,可以根据表格单元格数据满足不同条件时,将行的背景色设置为不同的颜色,参考部分代码如下:
kdyonly
2023/04/06
2.3K0
css美化文字选中时的颜色
很多网站的选中文字特效都是使用的默认色,看就了就有点腻,今天教你如何个性的美化选中文字 <p class="text">默认文字(选中底色为栗色,字体颜色为白色)</p> <style> /*栗色选
Youngxj
2018/06/06
2.2K0
C/C++ Qt StandardItemModel 数据模型应用
QStandardItemModel 是标准的以项数据为单位的基于M/V模型的一种标准数据管理方式,Model/View 是Qt中的一种数据编排结构,其中Model代表模型,View代表视图,视图是显示和编辑数据的界面组件,而模型则是视图与原始数据之间的接口,通常该类结构都是用在数据库中较多,例如模型结构负责读取或写入数据库,视图结构则负责展示数据,其条理清晰,编写代码便于维护。
王瑞MVP
2022/12/22
1.7K0
C/C++ Qt StandardItemModel 数据模型应用
C/C++ Qt StandardItemModel 数据模型应用
QStandardItemModel 是标准的以项数据为单位的基于M/V模型的一种标准数据管理方式,Model/View 是Qt中的一种数据编排结构,其中Model代表模型,View代表视图,视图是显示和编辑数据的界面组件,而模型则是视图与原始数据之间的接口,通常该类结构都是用在数据库中较多,例如模型结构负责读取或写入数据库,视图结构则负责展示数据,其条理清晰,编写代码便于维护。
王瑞MVP
2022/12/28
1.7K0
C/C++ Qt StandardItemModel 数据模型应用
iOS自定义UICollectionView和UITableView单元格选中样式
iOS中,UICollectionView和UITableView已经有系统默认选中颜色设置,但是只有无色,蓝色,灰色,三种颜色设置,如果想要其他的颜色效果,我们可以自由自定义设置。 前言 先观赏
陈满iOS
2018/09/10
3.1K0
iOS自定义UICollectionView和UITableView单元格选中样式
iOS小技能:设置tableView的点击事件优先级低于cell的选中事件
场景1:比如筛选视图,监听蒙版的点击事件就隐藏筛选视图。优先处理筛选视图的cell选中事件。
公众号iOS逆向
2022/08/22
1.3K0
iOS小技能:设置tableView的点击事件优先级低于cell的选中事件
第9条 覆盖equals时总要覆盖hashCode
覆盖了equals方法,也必须覆盖hashCode方法,if not,就违反了hashCode的通用约定,会导致无法跟基于散列的集合正常运作.
程序亦非猿
2019/08/16
1.1K0
iOS 9 Storyboard 教程(二下)
现在你会忽视Game行,仅仅让用户输入玩家的名字. 当用户点击Cancel按钮的时候,这个控制器将会关闭并且不管你输了什么数据都不会保存.这个部分用unwind segue已经起作用了.
hrscy
2018/08/30
2.3K0
iOS 9 Storyboard 教程(二下)
Swift - 给TableView添加编辑功能(删除,插入)
1,下面的样例是给表格UITableView添加编辑功能: (1)给表格添加长按功能,长按后表格进入编辑状态 (2)在编辑状态下,第一个分组处于删除状态,第二个分组处于插入状态 (3)点击删除图标,删除对应条目 (4)点击添加图标,插入一条新数据
Python疯子
2018/09/06
3.1K0
Swift - 给TableView添加编辑功能(删除,插入)
自定义UITableViewCell实现左滑动多菜单功能LeftSwipe
1、使用自定义UITableViewCell + UISwipeGestureRecognizer + 代理 实现;
tandaxia
2018/09/27
2.5K0
自定义UITableViewCell实现左滑动多菜单功能LeftSwipe
码处高效:覆盖 equals() 时切记要覆盖 hashCode()
在每个覆盖了 equals 方法的类中,都必须覆盖 hashCode 方法。如果不这样做的话,就会违反 hashCode 的通用约定,从而导致该类无法结合所有的给予散列的集合一起正常运作。这类集合包括 HashSet、HashMap,下面是Object 的通用规范:
cxuan
2019/09/19
6790
码处高效:覆盖 equals() 时切记要覆盖 hashCode()
Android CheckBox修改选中颜色并去除选中时的水波纹效果
都知道Android原生的控件颜色比较辣眼睛,所以实际开发中都会有改动,而选中框是在实际开发中常用的,比如同意这个协议就勾选上。
晨曦_LLW
2020/09/25
3.5K0
macOS开发之NSTableView的应用详解
    和iOS开发中的UITableView有很大差别,NSTableView并非是一个可滚动的列表视图,其是一个不可滚动、支持多列多行的原始列表视图。若要使NSTableView支持滚动,通常会将其嵌套入NSScrollView控件中。与UITableView类似,NSTableView的数据也是用过DataSource代理来提供,通过Delegate代理来进行表格视图的定制化。在OS X v10.6版本之前,NSTableView中行数据载体视图必须是NSCell的子类,之后版本的OS X支持开发者创建基于View的TableView视图,同样也支持基于Cell的TabelView视图,在开发者,我们可以根据实际需求选择。
珲少
2018/08/15
4.8K0
macOS开发之NSTableView的应用详解
Easyui datagrid 扩展单元格textarea editor
手动拖拽,拖拽时一边往右侧拖拽,结果如下,上图那个拖拽图标被隐藏了。停止拖拽后无法再次拖拽
授客
2019/09/10
1.4K0
Easyui datagrid 扩展单元格textarea editor
底牌项目中的选择牌谱上传功能--深刻理解UITableView复用
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/52583210
用户1451823
2018/09/13
1.1K0
底牌项目中的选择牌谱上传功能--深刻理解UITableView复用
iOS开发——UITableView勾选效果
如今的APP开发中,UITableView是最常用的控件之一,而UITableView中有个很常见的效果就是勾选效果,这个效果是由UITableViewCell中的accessoryType属性来决定的。
Originalee
2018/08/30
1.7K0

相似问题

在tableview中,数据正在覆盖

11

广告正在覆盖tableview

33

TableView单元格数据被覆盖

10

Tableview单元格覆盖

12

如何根据tableview单元格修改选中的tableview

124
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文