如何向我的iOS应用程序添加滚动视图?

问题描述 投票:5回答:2

我正在为iPhone创建一个应用程序,其中涉及使图像视图具有动画效果的按钮,我创建了另一个用于保持按钮的视图,但是我希望能够水平或垂直地滚动此按钮视图。我已经研究过添加滚动视图,甚至遵循了教程,但是我不知道如何将其添加到我的应用程序中。有任何想法吗?在本教程中,我遵循了这个家伙将滚动视图添加到MainWindow.xib的步骤,现在我的应用程序已在viewcontroller.xib中创建和设计。因此,按照本教程操作时,当我按下“构建”按钮时,它将加载该笔尖,您所看到的只是一个白色背景和一个滚动视图。 (同样在该教程中,他在图像上滚动,就像我想滚动按钮的长视图一样)。我意识到问题的新颖性可能是疯狂的,但我是一起编程的新手。这是另一个问题,如果有人帮助我使该滚动视图正常工作,并且如果该滚动视图的长度大于iphone屏幕的长度,那么您将在哪里设计该滚动视图的内容?因为据我了解,在界面构建器中进行设计的空间就是iphone屏幕的大小,因此无法设计比iphone屏幕更长的界面。 (当然,我知道这是可行的,只是我不知道该怎么做)。

ios iphone xcode uiscrollview
2个回答
7
投票

您可以通过编程方式设置内容视图(滚动区域)的尺寸:

[scrollView setContentSize:CGSizeMake(contentViewWidth, contentViewHeight)];

然后使用内容视图的坐标系将视图组件添加到滚动视图。因此,假设您的滚动视图是100x100像素,并且您希望滚动视图的宽度是原来的两倍:

[scrollView setContentSize:CGSizeMake(200.0f, 100.0f)];

然后您可以添加一个按钮以显示在滚动视图的每半部分:

// First half of content view
button1.frame.origin.x = 10.0f;
button1.frame.origin.y = 50.0f;
[scrollView addSubView:button1];

// First half of content view
button2.frame.origin.x = 110.0f; // NOTE that 110 is outside of
button2.frame.origin.y = 50.0f;  // the scroll view frame
[scrollView addSubView:button2];

您可以可能在NIB中将滚动视图的每个页面设计为单独的子视图,然后在Interface Builder中或通过编程将子视图的原点移动到正确的页面位置-但是我从未尝试过此。如果可行,则可以使用IB来布局按钮。

我想知道是否可行。


0
投票

大多数视图具有.hidden属性。

将其隐藏为YES-> myscrollview.hidden = YES;设置为NO以显示-> myscrollview.hidden = NO;

您可以将此隐藏/显示放在动画中,并淡化滚动视图。

查找“简单的石英动画”-仅几行代码。

© www.soinside.com 2019 - 2024. All rights reserved.