尽管没有使用Autolayout,但垂直滚动在UIScrollView和iOS7以及Xcode 5中不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尽管没有使用Autolayout,但垂直滚动在UIScrollView和iOS7以及Xcode 5中不起作用相关的知识,希望对你有一定的参考价值。
当我尝试在ios 7和Xcode 5中使用UIScrollView时,它不响应垂直滚动。我首先将ScrollView从对象库拖放到storyboard,并将其大小设置为width = 320和height = 1500,然后拖放三个标签,并在y = 300,800,1200处找到这些标签。对于y坐标的标签等于800和1200,我首先将scrollview移动到上部,使这些对象位于相应的y值。然后,我将scrollview连接到实现文件作为插座,在viewDidLoad
方法中,我写self.myScrollView.contentSize = CGSizeMake(320, 1500)
。最后在width = 320和height = 568处设置scrollview的大小。然后运行模拟器,但它不会对垂直滚动做出反应。然后我取消选择use autolayout
再次运行模拟器,它仍然没有工作。
那么我该如何解决这个问题呢?或者任何人都可以告诉我任何有用的教程,这些教程讲授iOS 7和Xcode 5中的UIScrollView(这很重要,因为我读过的每个教程都是基于以前的版本)?
我使用Xcode 5.0.2。
谢谢。
Here's self answer
我将self.myScrollView.contentSize = CGRectMake(320, 1500);
从viewWillAppear
改为viewDidLoad
,并运行模拟器,然后由于某些原因滚动现在正在工作。正如我在原帖中所说,我首先在viewDidLoad
中写了它,并在我阅读了kkocabiyik的答案后将其移至viewWillAppear
。我不确定为什么我的原始代码不起作用 - 也许是因为我在从Mani和Rashad获得大量帮助的过程中略微修改了我的代码,但同时将上述代码保存在viewWillAppear
中。
对于那些陷入同一陷阱但将来会遇到这个问题的人,我已经能够从这个设置中解决问题了:
- 在
self.myScrollView.contentSize = CGSizeMake(320, 1500);
写viewDidLoad
- 将故事板中的UIScrollView作为IBOutlet属性连接到myScrollView
- 不使用自动布局
- 设置x = 0,y = 0,width = 320,height = 568以从故事板内滚动查看
并且还要注意使用autolayout不起作用。此外,在qazxsw poi中使用自动布局和设置内容大小也不起作用。
我想感谢所有帮助我解决这个问题的人。谢谢。
我有一个问题,当我添加textField或图像时,我的滚动视图不起作用。我通过将所有内容放入堆叠视图来解决这个问题。然后,当我通过手机运行时,我能够滚动。
看看viewWillAppear
视频。它显示了如何在XCode 5 / iOS 7中使用UIScrollLayout和autolayout。
你必须设置this然后它只会垂直滚动。(contensize> scrollview.height)并检查bool vairable scrollview height as screensize or less than contentsize.
设置为scrollEnabled
。
设置x = 0和y = 0,您必须将内容大小设置为(320,1500),而不是x和y。 x和y定义滚动视图的起始位置而不是内容大小。对于内容大小:
YES
希望这可以帮助.. :)
使用AutoLayout时是否修改任何元素的框架无关紧要。具有AutoLayout的查看框架由它处理,因此它将忽略您在 self.scrollView.contentSize = CGSizeMake(320, 1500);
方法上所做的操作。如果你必须使用AutoLayout,你可以将你在viewDidLoad
中所做的事情粘贴到viewDidLoad
,这样它将完成AutoLayout完成它之后完成的所有工作。
本教程使用scrollviews保存了我的生活:viewDidAppear
我也遇到了与Xcode 6相同的问题。关注Scroll View Autolayout Tutorial,这真的非常有帮助,节省您的时间。
使用onOffScroll.contentSize = CGSizeMake(content width,content height);
方法并使用此方法中的代码。它可能会帮助你。
我注意到故事板中的scrollview高度不能大于屏幕。如果你想要更大,那么以编程方式,而不是在故事板中。
以上是关于尽管没有使用Autolayout,但垂直滚动在UIScrollView和iOS7以及Xcode 5中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView 不使用 AutoLayout 滚动
如何使用 Unity UI 滚动到 ScrollRect 中的特定元素?
iOS 嵌套 UIScrollViews 使用 AutoLayout