列表控件选中一行后,当列表失去焦点时,怎样才能仍然高亮显示那一行?
答案:1 悬赏:60
解决时间 2021-01-25 14:41
- 提问者网友:了了无期
- 2021-01-24 14:21
列表控件选中一行后,当列表失去焦点时,怎样才能仍然高亮显示那一行?
最佳答案
- 二级知识专家网友:不甚了了
- 2021-01-24 15:47
如果流氓一点呢就直接记录一个变量这个变量就记录上一次点选的行数
然后呢当点击下一个行的执行时候 强行改变成高亮状态
追问:我是想实现这样的功能:添加了一个按键,点击一次按键,输入焦点切换到一个编辑框中,再点击一次按键,输入焦点切换到列表控件第一行,且高亮!来回切换焦点
追答:你用的是OC写的?跟你说说我的想法吧 在OC里 点选是一个touch事件当点选时系统自动操作 获得第一焦点 然后高亮状态当点选下一个行的时候这行会调用一个失去touch的方法(C语言的函数) 这个时候如果不对这个函数重写的话系统会自动失去第一响应 然后会失去高亮状态如果想达到那个效果需要重写这个方法内部写一个该行显示高亮状态的代码(最好加上失去第一响应的代码,当然不加也没关系不会影响)这种写法会有一个BUG 就是 所有点过的行都是高粱状态。。。这个时候需要用到我说的变量了然后需要判断一下如果该行是上一个点击的行数的话 改变 然后重载整个表这样的话 就会完全实现你说的内种效果这个需要重写方法是一个tabelView的代理方法
具体方法我给忘了 几个月前写项目的时候用过不过你可以在他的协议方法下找一找 或者翻译一下方法的具体名称
我只记得该方法是一个无返回的方法当然呢 如果嫌高亮麻烦的话你可以自定义tabelView 不用系统的也可以实现一个自己的“高亮状态”
这个“高亮状态”你可以写成将这个cell加一个背景图 高亮状态就不显示蓝色直接变成你需要的DIY出来的样子我打错了是自定义tabelViewCell如想找更多的效果的话我建议你百度一下第三方库 或者看看百度别人写的代码相信总有一款适合你~
然后呢当点击下一个行的执行时候 强行改变成高亮状态
追问:我是想实现这样的功能:添加了一个按键,点击一次按键,输入焦点切换到一个编辑框中,再点击一次按键,输入焦点切换到列表控件第一行,且高亮!来回切换焦点
追答:你用的是OC写的?跟你说说我的想法吧 在OC里 点选是一个touch事件当点选时系统自动操作 获得第一焦点 然后高亮状态当点选下一个行的时候这行会调用一个失去touch的方法(C语言的函数) 这个时候如果不对这个函数重写的话系统会自动失去第一响应 然后会失去高亮状态如果想达到那个效果需要重写这个方法内部写一个该行显示高亮状态的代码(最好加上失去第一响应的代码,当然不加也没关系不会影响)这种写法会有一个BUG 就是 所有点过的行都是高粱状态。。。这个时候需要用到我说的变量了然后需要判断一下如果该行是上一个点击的行数的话 改变 然后重载整个表这样的话 就会完全实现你说的内种效果这个需要重写方法是一个tabelView的代理方法
具体方法我给忘了 几个月前写项目的时候用过不过你可以在他的协议方法下找一找 或者翻译一下方法的具体名称
我只记得该方法是一个无返回的方法当然呢 如果嫌高亮麻烦的话你可以自定义tabelView 不用系统的也可以实现一个自己的“高亮状态”
这个“高亮状态”你可以写成将这个cell加一个背景图 高亮状态就不显示蓝色直接变成你需要的DIY出来的样子我打错了是自定义tabelViewCell如想找更多的效果的话我建议你百度一下第三方库 或者看看百度别人写的代码相信总有一款适合你~
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯