使用UIScrollView实现垂直滚动的正确方法

时间:2011-08-19 04:35:56

标签: iphone objective-c ios cocoa-touch

我知道几分钟前我问过一个问题,但是我想在得到社区帮助之前更清楚地说几点。我是iOS开发的新手,接近完成我的第一个应用程序。唯一阻碍我的是UIScrollView。我根本不理解,可以使用你的帮助。

这是在具有标签栏的下钻应用程序的详细视图控制器中。从.plist中我有大约8个字段(用于电话号码之类的东西)。显然,那些占用足够的空间,我可以使用一点额外的房地产。我猜它需要垂直两个视图的大小,但我不明白如何将这种空间分配给UIScrollView。我读过的一些教程说你甚至不需要在标题中定义它,我怀疑和不理解。此外,我不明白如何简单地让应用程序平滑地向上和向下滚动。 Apple的例子有不断的移动周期,可以在水平图片之间切换。

我怀疑这有什么不同,但我有一张背景图片。我要加载视图。

我的问题很广泛,所以我不希望你花时间坐下来为我写出所有的代码(我不会要求你)。只是一个快速,有用的提示概述将帮助我了解如何在我的项目的上下文中加载此视图。

非常感谢!

4 个答案:

答案 0 :(得分:6)

这很简单。在视图中添加UIScrollView。将您的字段等添加到滚动视图。在viewDidLoad或类似的地方,您需要在scrollview上设置contentSize。这是可滚动的“虚拟”区域。这通常会大于滚动视图的框架。在你的情况下,你表明它应该是宽度的大约两倍。

例如,如果您有一个内部视图的滚动视图,并且您希望通过滚动确保整个视图可见:

self.scrollView.contentSize = self.contentView.frame.size;

答案 1 :(得分:2)

//setting scrollview zoom level
    self._scrollview.minimumZoomScale=0.5;

    self._scrollview.maximumZoomScale=6.0;

    self._scrollview.contentSize=CGSizeMake(320,500 );

你必须在.h类和@property @synthesis这个滚动视图中输出滚动视图。然后你可以向上和向下滚动,如果你只想垂直滚动,那么你必须去界面构建器并取消选中水平滚动。

答案 2 :(得分:2)

您可以为滚动视图设置一些设置,以将滚动限制为水平或垂直。一些重要的是:

// pseudcode here, start typing "[scrollView " then press escape to get a intelli-sense of all // the things you can set for the scrollview.

// values could be YES/NO or TRUE/FALSE, I can't remember which one but 
// I think it's YES/NO. Once you start scrolling, the phone will determine
// which way you're scrolling then lock it to that direction
[scrollView setDirectionalLockEnabled:YES];

// when you slide the view, if enough of the next part of the view is visible, 
// the scrollview will snap or bounce the scrollview to fit this new "page".
// think of swiping feature to navigate the iPhone home screens 
// to show different "pages" of iphone apps
[scrollView setPagingEnabled:YES];

// as a safe guard, make sure the width of your scrollview fits snuggly with the content 
// it is trying to display. If the width is more than necessary to display your table of 
// data vertically, sometimes the scrollview will cause the 
// horizontal scrolling that you don't want to happen and you get bi-directional scrolling

答案 3 :(得分:1)

添加所有控件/按钮/文本字段等后,只需设置UIScrollView的内容大小,例如在UIScrollview中添加10个文本字段,然后UIScrollView的内容大小为

lastTextField.frame.origin.y+lastTextField.frame.size.height+20; 20 is for margin.

如果您想了解与您的应用程序更相关的内容,请告诉我。