如何创建 UIScrollView?
Posted
技术标签:
【中文标题】如何创建 UIScrollView?【英文标题】:How to create a UIScrollView? 【发布时间】:2011-03-09 07:41:40 【问题描述】:我在 UIViewController 上有 4 个标签。现在我想知道如何使用 UIScrollView 将当前视图变为可滚动视图?
【问题讨论】:
【参考方案1】:您必须在那里创建和添加这些标签。像这样的东西(警告:未经测试)
UIScrollView * content = [[UIScrollView alloc] initWithFrame:self.view.bounds];
[content setContentSize:CGSizeMake(width, height)];
//Here you can add those labels to content view
[self.view addSubView:content];
要使滚动生效,您必须指定大于主视图大小的内容大小 (setContentSize:
)。并且不要忘记释放滚动视图。
【讨论】:
在我的情况下,我有一个 UIViewController,我使用 xib 文件以编程方式创建。现在我已经使用 IB 和所有这些标签放置了一个滚动视图。 您可以随意添加标签。关键是将 UIScrollView 添加到控制器的视图中,并将其内容大小设置为大于主视图。 secondView = [[SecondView alloc] initWithNibName:@"second" bundle:nil]; //myScrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds]; //[myScrollView setContentSize:CGSizeMake(400, 600)]; //[secondView.view addSubview:myScrollView]; [self.navigationController pushViewController:secondView 动画:YES];还是不行…… 使用控制器视图的大小[UIScrollView alloc] initWithFrame:secondView.bounds];
如果你想通过Interface Builder添加标签,那么你应该在IB中添加ScrollView并设置它的size和contentSize属性。
secondView = [[SecondView alloc] initWithNibName:@"second" bundle:nil]; myScrollView = [[UIScrollView alloc] initWithFrame:secondView.bounds];发生错误:SecondView' 可能不响应'-bounds'【参考方案2】:
最简单的方法:
-(void)scrollview
UIScrollView *scrollview=[[UIScrollView alloc]initWithFrame:CGRectMake(10, 10, 250, 150)];
scrollview.showsVerticalScrollIndicator=YES;
scrollview.scrollEnabled=YES;
scrollview.userInteractionEnabled=YES;
scrollview.backgroundColor = [UIColor greenColor];
[mainScrollView addSubview:scrollview];
scrollview.contentSize = CGSizeMake(250,150);
【讨论】:
以上是关于如何创建 UIScrollView?的主要内容,如果未能解决你的问题,请参考以下文章
调整容器 uiscrollview 中所有 uiscrollview 的大小