当我尝试在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。
谢谢。
我将self.myScrollView.contentSize = CGRectMake(320, 1500);
从viewWillAppear
改为viewDidLoad
,并运行模拟器,然后由于某些原因滚动现在正在工作。正如我在原帖中所说,我首先在viewDidLoad
中写了它,并在我阅读了kkocabiyik的答案后将其移至viewWillAppear
。我不确定为什么我的原始代码不起作用 - 也许是因为我在从Mani和Rashad获得大量帮助的过程中略微修改了我的代码,但同时将上述代码保存在viewWillAppear
中。
对于那些陷入同一陷阱但将来会遇到这个问题的人,我已经能够从这个设置中解决问题了:
self.myScrollView.contentSize = CGSizeMake(320, 1500);
写viewDidLoad
并且还要注意使用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高度不能大于屏幕。如果你想要更大,那么以编程方式,而不是在故事板中。