我对 iOS 很陌生,尤其是对使用 Storyboard 的复杂 View 。我已经开始尝试使用 AutoLayout 开发以下屏幕,因此我无需担心不同的 iDevices 屏幕尺寸。
我正在使用 ScrollView 将内容移动到可见空间,同时需要使用键盘输入一些信息。问题是我多次重新创建所有约束,试图使字段符合 ScrollView 的宽度。实际上,在运行时,所有字段都显示为大于 ScrollView 宽度(就像向右溢出屏幕宽度一样)。奇怪的是按钮尊重它的宽度。当我在 iPhone 6s Plus 上将方向更改为横向时,这些字段的宽度小于屏幕宽度,就好像我已经定义了一个特定的大小,并且按钮继续根据它的约束遵守大小。有什么想法吗?
层次结构:
View Controller
View A
Scroll View
View B
Logo / App name / UITextFields / Switch / Button / Link
基本上,滚动受到 View A 的约束。 View B 受到与 View A 和滚动边距相等的宽度的约束。
当前 Xcode 版本:7.2 (7C68)
最佳答案
请找到添加到 ScrollView 的约束,即顶部、左侧、右侧、底部约束。
以同样的方式为 ScrollView 中的单个元素设置约束,即 textfield
和 button
。对于这些元素,设置左、右、上和高度约束。我已在我的代码中添加以实现您的功能,请参见下面的屏幕截图。
关于ios - 不遵守使用 ScrollView 的 Storyboard约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34946486/