ios - UIScrollView 上的 Next Prev 按钮
问题描述
我在 Interface Builder (Xcode 9 / iOS 11) 中的布局有问题。
我有一个 UIScrollview,在它上面我有 2 个按钮(下一个和上一个视图)。如果我将按钮放在滚动视图下,它们就会出现并起作用。但是如果我把它们放在滚动视图上,它们就不会再出现了。
可能是什么问题?
布局按钮和滚动视图:
警告信息:
解决方案
我假设您希望您的按钮在滚动视图上方(而不是下方)。这在 Xcode 11 Interface Builder 中非常简单,它允许您将滚动视图(即其内容视图)的子视图固定到 Frame Layout Guide 或 Content Layout Guide 或两者的组合。
框架布局指南通过基于除滚动视图或其容器之外的任何父视图(换句话说,包含滚动视图的父视图的另一个同级子视图)应用宽度和高度约束来定义内容视图的可见区域的大小。
内容布局指南定义了内容视图的整个区域的大小,任何应用宽度和高度约束都基于相同的,或者当然,大于滚动视图的框架:
使用这些布局指南无需在任一方向切换滚动;将 Content Layout Guide 限制为 scrollview 可见框架的高度或宽度决定了它是可以垂直滚动还是水平滚动。
这意味着,如果您将滚动视图的子视图约束到框架布局指南,它将不会滚动(而且,它将是滚动视图的真正子视图)。
这
Xcode 11 中添加到 UIScrollView 界面生成器组件的框架和内容布局指南尚未记录;但是,Apple 仍然分发了一个过时的文档,该文档描述了如何使用 Xcode 10 或更早版本在滚动视图中创建 >“浮动视图”。
推荐阅读
- reactjs - 使用 React Router 时传递状态的最简单方法是什么?
- python - 在具有 GPU 支持的 Tensorflow 中创建自定义 LSTMCell
- java - 试图限制基于图块的游戏中的移动
- mysql - 如何将索引添加到 mysql 数据库以提高性能?
- mysql - 如何从 MySQL 表中的列中删除以某些特定单词开头和结尾的部分文本/段落?
- assembly - 你如何在 SSE2 上进行带符号的 32 位扩展乘法?
- python - 根据 1-2 个公共键值获取 4 个 JSON 文件的交集?(Python)
- python - 用列名填充 NaN 的 Python Dataframe 问题
- floating-point - 为什么从 int 到 float “可以四舍五入”,但从 int 到 double “可以保留”?
- command-line-interface - 为部署和开发环境交换变量的独立于框架的方法