ios - Swift:向下滚动时下拉溢出消失
问题描述
我正在做这个项目,我在 tableView 单元格中使用下拉菜单。我正在使用以下代码使下拉部分溢出 tableView 单元格底部
cell.clipsToBounds=false
cell.contentView.clipsToBounds=false
一切正常,但是当我向下滚动 tableView 直到下拉部分不再可见时,溢出停止工作。您可以在下面的项目中看到问题的实际效果
https://github.com/Rawchris/Drop-down-overflow2
在项目中,我在每个单元格中都放置了下拉按钮,但如果它只是第一个工作的按钮就很好。我希望你能提供帮助。如果您需要更多信息,请告诉我。
解决方案
问题不在于“溢出停止工作” ……问题在于表格视图单元格没有按顺序绘制。
从您的其他问题中得到答案:https ://stackoverflow.com/a/61252794/6257435
我缩短了单元格的高度以使其更容易看到。
在这张图片中:
在点击“第 8 行”按钮之前,我上下滚动了几次。如您所见,您的灰色“下拉”菜单隐藏在第 9 行和第 10 行后面。
使用Debug View Hierarchy
你可以确切地看到发生了什么:
您可以通过使用闭包或委托协议告诉您的 tableViewController 在打开菜单时将该单元格置于最前面来解决此问题,但是......在显示“下拉菜单”时滚动时您可能仍会遇到问题。当“下拉”同时显示多行时,您也会遇到问题。
一般来说,在其他视图的范围之外进行绘制并不是一个好主意。可能会出现很多问题。另外——当然,这可能只是个人意见——整个“下拉选择列表”在手机或平板电脑上感觉非常不合适。它带来了相当笨拙/尴尬的用户体验。如果我是你,我会重新考虑我的方法。
推荐阅读
- r - 两列R中半唯一值的滚动索引
- rascal - 如何 iprint 到字符串?
- python - 如何从 tsv 文件中删除低值
- javascript - 在 32 位 chrome 上播放大尺寸音频的最有效方法是什么?
- css - 为什么“方向:rtl”会切断字符串中的任何数字(但不是字母)并将它们粘贴到最后?
- javascript - Strapi如何结合两个字段生成UUID?
- flutter - 错误:参数类型“Uint8List?” 不能分配给参数类型'Iterable
- kubernetes - 掌舵在 kubernetes 上安装 nuclio
- api - 我如何生成一个可以为所有观众服务的用户令牌,即使他们没有国家?
- javascript - Typescript 菜单栏关闭方法