2014-10-30 59 views
2

我一直在为这个实现挣扎几天,尽管我已经尝试去做每一个我在网上找到的教程,但我仍然无法按照自己想要的方式工作。ios - 在Xcode 6上使用UIScrollview w/autolayout

基本上,我试图把我的登录表单放在滚动视图中,这样它首先在整个屏幕上(以及所有的iPhone/iPad上),并且如果键盘出现,所有东西都应该移动。问题在于,我的视图并不占用整个屏幕......或者它太大或太高,即使在Interface Builder中,所有接缝都是正确的(从布局到约束)。下面,我想实现布局的图像(我使用的是通用的故事板,大小为类和自动布局启用):

http://img4.hostingpics.net/pics/829115app.png

有人点我出去实现这一布局?

在此先感谢。

回答

0

我建议将您的滚动视图的顶部,引导和尾部空格固定到其超级视图。如果将其设置为0,则将底部空间约束设置为小于或等于键盘的高度,则滚动视图将无法调整大小。

使用表单布局设置垂直中心约束和顶部空间到顶级标签的顶部空间大于或等于您在IB中设置的距离,然后您可以设置每个组件之间的相对空间约束。

希望我回答了你的问题。

编辑:只是提供的项目,并得到它的工作。我认为这个问题是由于它是一个scrollView内的containerView引起的。容器和scrollViews内容视图都适应其子视图的大小。正因为如此,设置相对限制条件将无济于事。

我所做的是为containerView设置一个明确的大小(屏幕大小)并将setTranslatesAutoresizingMaskIntoConstraints(true)设置为它。

我修改您的项目,并将其上传here

+0

我不知道在Interface Builder的键盘高度,因为它没有在开始露面。我能够通过绑定事件keyboardDidShow动态滚动scrollview,并且工作正常。 问题在于表单布局。我可以在界面生成器中很好地设计它,但是它显示得太大,视图水平滚动,或者太长,视图垂直滚动。我希望滚动视图为全屏幕且无需滚动,除非我在键盘上滚动它.DidShow 教程告诉我在滚动中放置容器视图并将内容放在那里,但它不起作用。 – Lucio 2014-10-30 08:21:06

+0

@LucioMerotta你可以在IB上发布视图的截图并在模拟器上运行吗? – Deivuh 2014-10-30 16:33:51

+0

当然可以!你会发现这里的屏幕截图为: - 约束 - 界面制作工具的布局 - iOS模拟器的屏幕截图 – Lucio 2014-10-30 19:15:23