如何在 iOS 中制作可滚动视图?

Posted

技术标签:

【中文标题】如何在 iOS 中制作可滚动视图?【英文标题】:How to make a scrollable view in iOS? 【发布时间】:2013-02-14 12:00:05 【问题描述】:

我希望为我的应用程序创建一个“选项”页面,因为它们很多,手机屏幕不足以显示。

所以我需要用户能够向下滚动视图以查看更多选项,直到最后。我知道我应该使用滚动视图,但我不知道如何。

我找到的所有教程都是关于在屏幕上滚动、缩放、从左到右滚动,但没有关于如何创建一个简单的上下滚动页面。

我该怎么做?我是否制作了许多 .nib 文件并以某种方式连接它们?我要制作一个大的 .nib 文件吗?

有人可以指导我学习这方面的教程吗?

【问题讨论】:

这可能就像继承 UIScrollView 而不是 UIView 一样简单? 对不起,我是ios新手,我几乎不知道你在说什么。 在分组模式下使用UITableview 来显示选项。这可能会更好 在视图的头文件中,您将看到@interface YourView : UIView,这意味着YourViewUIView 的子类。将UIView 更改为UIScrollView,看看会发生什么。我个人没有这方面的经验,我相信还有更多,但我认为这是朝着正确的方向发展。 Anil,如果我这样做,整个屏幕将是一个表格视图?因为我也想在那里有一张地图。 【参考方案1】:

使用UIScrollViewContentSize 属性滚动您想要的任何区域。即

UIScrollView 添加到UIView 上,并具有iPhone 的现有高度。即最大 460.0 所以ScrollView 帧将是最大值 (0,0,320.0,460.0)。

现在在将ScrollView 添加到View 之后,将ContentSize 属性设置为可滚动区域。

[self.mainScrollView setContentSize:CGSizeMake(self.mainScrollView.frame.size.width, 1000.0)];

【讨论】:

我不怀疑你在说什么,但我不明白我应该做什么。你能发布一个简单的工作示例或教程吗? 清楚地提供了完全满足您的需求的代码行。添加 ScrollView 后只需写下我提供的内容即可。具有您想要查看的所需全视图高度。 我把这行代码放在哪里?用什么方法? viewdidload? 嘿,添加您的 ScrollView 后,将此行添加到您创建它的任何位置。如果是从 NIb 取出 IBOutlet,写在 ViewDidLoad 方法中。【参考方案2】:
UIScrollView *mainScroll = [[[UIScrollView alloc]initWithFrame:CGRectMake(x,y,w,h)]autorelease];//scrollview width and height

mainScroll.scrollEnabled = YES;   
mainScroll.userInteractionEnabled = YES;

mainScroll.showsVerticalScrollIndicator = YES;

mainScroll.contentSize = CGSizeMake(width,height);//width and height depends your scroll area

..........

//add  subviews to your scrollview.....
[mainScroll addSubview:view1]

............

[mainScroll addSubview:view2]

..............

[mainScroll addSubview:view3]

[self.view addSubview:mainScroll];

注意 :: contentSize 属性决定了你的滚动 area.Scrolling 仅当您的滚动视图内容大于滚动视图高度时才启用..

【讨论】:

谢谢你的工作就像一个魅力:)。现在添加子视图意味着我需要通过代码创建所有元素?例如,如果我想放置一个按钮或文本,我必须对其进行编码,或者我可以使用构建器吗?如果我可以使用构建器,我怎么能在滚动区域的某个地方放置一些东西?我的意思是在你在第一个屏幕上看不到它但你必须滚动到它的地方。 @d0nparalias ,我的回答是通过代码添加子视图。否则,您首先将滚动视图添加到您的构建器,然后将子视图添加到您的滚动视图..【参考方案3】:

您可以使用带有静态单元格的表格视图,如果需要,它会自动滚动,更容易。此外,使用表格视图,您可以从属性检查器中选择向上、向下、向左、向右滚动、设置弹跳等。

【讨论】:

【参考方案4】:

只制作 1 个 nib 文件。 根据需要将滚动视图的高度设置为大。 然后将你的按钮,textfeild 放在滚动视图上

【讨论】:

崩溃。它不是那么简单。我相信你也需要在控制器上放一些代码。【参考方案5】:

有两种方式:

为您的应用制作设置包检查此Press Me

用自定义单元格制作 UITableView >> 如果你使用它很容易 界面生成器Press Me

【讨论】:

以上是关于如何在 iOS 中制作可滚动视图?的主要内容,如果未能解决你的问题,请参考以下文章

ScrollView 或 List,如何制作特定的可滚动视图 (SwiftUI)

如何使用滚动视图制作可滚动标签?

如何在 iOS 上制作垂直滚动视图?

如何在 panGestureHandler 中制作滚动视图 scrolllabe?

MVVMCross:如何制作无限滚动视图并下推刷新视图?

如何制作可缩放的滚动视图?