如何在 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
,这意味着YourView
是UIView
的子类。将UIView
更改为UIScrollView
,看看会发生什么。我个人没有这方面的经验,我相信还有更多,但我认为这是朝着正确的方向发展。
Anil,如果我这样做,整个屏幕将是一个表格视图?因为我也想在那里有一张地图。
【参考方案1】:
使用UIScrollView
的ContentSize
属性滚动您想要的任何区域。即
将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)